Telephony Manager in Android in Hindi
RGPV University / DIPLOMA_CSE / MOBILE COMPUTING
Telephony Manager in Android
Telephony Manager in Android
Telephony Manager in Android
Telephony Manager Android में एक महत्वपूर्ण क्लास है, जिसका उपयोग हम मोबाइल नेटवर्क और टेलीफोन सिस्टम से संबंधित डेटा और सेवाओं तक पहुँचने के लिए करते हैं। यह API हमें फोन से संबंधित विभिन्न जानकारी जैसे कि सिम कार्ड की जानकारी, नेटवर्क की स्थिति, कॉल स्टेटस, और बहुत कुछ प्राप्त करने की अनुमति देता है। इसे आमतौर पर फोन कॉल, नेटवर्क जानकारी, और अन्य टेलीफोन संबंधित कार्यों को नियंत्रित करने के लिए उपयोग किया जाता है।
- Telephony Manager का उपयोग करने के लिए हमें AndroidManifest.xml में उचित परमिशन्स की आवश्यकता होती है।
- इससे हम नेटवर्क की स्थिति, सिम कार्ड का विवरण और कॉल से संबंधित जानकारी प्राप्त कर सकते हैं।
- यह खासतौर पर मोबाइल एप्लिकेशन में उपयोगी होता है जो नेटवर्क या कॉल बेस्ड सेवाएं प्रदान करते हैं।
Accessing Telephony Manager in Android
Telephony Manager का उपयोग करने के लिए हमें इसे अपनी Android ऐप में एक्सेस करना होता है। इसे प्राप्त करने के लिए हम Android Context से Telephony Manager के इंस्टेंस को प्राप्त कर सकते हैं। इसके लिए हम नीचे दिए गए कोड का उपयोग करते हैं:
TelephonyManager telephonyManager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
इस कोड में getSystemService का उपयोग करके हम TELEPHONY_SERVICE को एक्सेस करते हैं, जो हमें टेलीफोन से संबंधित सभी सेवाएं प्रदान करता है। इस ऑब्जेक्ट का उपयोग करके हम टेलीफोन की स्थिति, सिम कार्ड की जानकारी, और अन्य नेटवर्क से संबंधित डेटा प्राप्त कर सकते हैं।
Configuring Permissions for Telephony Manager in Android
Telephony Manager का उपयोग करने के लिए हमें AndroidManifest.xml फाइल में कुछ विशेष परमिशन्स को शामिल करना होता है। ये परमिशन्स यह सुनिश्चित करती हैं कि ऐप्लिकेशन को नेटवर्क और कॉल से संबंधित जानकारी प्राप्त करने की अनुमति हो। निम्नलिखित परमिशन्स को AndroidManifest.xml में जोड़ना आवश्यक है:
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
यहाँ पर:
READ_PHONE_STATEपरमिशन का उपयोग फोन की स्थिति (जैसे कॉल, नेटवर्क की जानकारी) को एक्सेस करने के लिए किया जाता है।ACCESS_NETWORK_STATEपरमिशन नेटवर्क की स्थिति को एक्सेस करने के लिए होती है।INTERNETपरमिशन इंटरनेट कनेक्टिविटी के लिए होती है, यदि ऐप को नेटवर्क से जुड़ी सेवाएं चाहिए तो यह परमिशन आवश्यक है।
साथ ही, एंड्रॉइड 6.0 (API 23) और इसके बाद के संस्करणों में runtime permissions की आवश्यकता होती है। इसका मतलब है कि उपयोगकर्ता से परमिशन रनटाइम के दौरान मांगी जाती है, जोकि सुरक्षा के लिहाज से महत्वपूर्ण है। इसे कोड में इस तरह से एक्सेस किया जाता है:
if (ContextCompat.checkSelfPermission(this, Manifest.permission.READ_PHONE_STATE) != PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.READ_PHONE_STATE}, 1);
}
इस कोड में हम checkSelfPermission का उपयोग करते हैं यह चेक करने के लिए कि ऐप को फोन की स्थिति का डेटा प्राप्त करने की अनुमति है या नहीं। यदि अनुमति नहीं दी गई है, तो requestPermissions का उपयोग करके परमिशन मांगी जाती है।
FAQs
Telephony Manager एक Android क्लास है जिसका उपयोग हम टेलीफोन और नेटवर्क से जुड़ी जानकारी प्राप्त करने के लिए करते हैं। यह हमें सिम कार्ड की जानकारी, कॉल स्थिति, नेटवर्क की स्थिति, और अन्य टेलीफोन से संबंधित डेटा एक्सेस करने की सुविधा देता है।
Telephony Manager को एक्सेस करने के लिए, हमें getSystemService(Context.TELEPHONY_SERVICE) का उपयोग करना होता है। इससे हम Telephony Manager का इंस्टेंस प्राप्त कर सकते हैं और इसके माध्यम से टेलीफोन से संबंधित सभी जानकारी प्राप्त कर सकते हैं।
Telephony Manager का उपयोग करने के लिए हमें कुछ महत्वपूर्ण परमिशन्स की आवश्यकता होती है, जैसे READ_PHONE_STATE, ACCESS_NETWORK_STATE, और INTERNET। यह परमिशन्स AndroidManifest.xml में डाली जाती हैं ताकि ऐप को फोन और नेटवर्क की जानकारी प्राप्त करने की अनुमति मिले।
Android 6.0 (API 23) और बाद के संस्करणों में हमें runtime permissions की आवश्यकता होती है। इसके लिए checkSelfPermission का उपयोग करते हुए चेक किया जाता है कि अनुमति दी गई है या नहीं। यदि अनुमति नहीं दी गई हो, तो requestPermissions के माध्यम से यूजर से अनुमति मांगी जाती है।
हां, Telephony Manager का उपयोग करके हम नेटवर्क की जानकारी प्राप्त कर सकते हैं, जैसे कि नेटवर्क का नाम, नेटवर्क टाइप, सिग्नल स्ट्रेंथ, और बहुत कुछ। इसके लिए हमें getNetworkOperatorName, getNetworkType, और getSignalStrength जैसे मेथड्स का उपयोग करना होता है।
Telephony Manager का उपयोग करके हम सिम कार्ड से जुड़ी जानकारी प्राप्त कर सकते हैं, जैसे कि सिम का नंबर, आईसीसीआईडी (ICCID), और सिम का देश कोड। इसके लिए getSimSerialNumber, getSubscriberId, और getSimCountryIso जैसे मेथड्स का उपयोग किया जाता है।