/ / TelephonyManager.getLine1Number () विफल हो रहा है? - एंड्रॉइड, फोन-नंबर

TelephonyManager.getLine1Number () विफल रहा है? - एंड्रॉइड, फोन नंबर

मैं android device का फ़ोन नंबर लेना चाहता हूँ। मैं इस कोड का उपयोग करता हूं:

TelephonyManager tm = (TelephonyManager)this.getApplicationContext().getSystemService(Context.TELEPHONY_SERVICE);
String phoneNumber=  tm.getLine1Number();

मेरे फोन (HTC Wildfire) पर मुझे फोन नंबर नहीं मिल सकता है - मुझे जो भी मिल रहा है वह खाली स्ट्रिंग है। यदि मैं एमुलब्यूरट पर कोड चलाता हूं, तो फोन नंबर सामान्य रूप से दिखाया जाता है।

अगर मैं सेटिंग => फ़ोन के बारे में => फ़ोन पहचान-> फ़ोन नंबर, फ़ोन नंबर "अज्ञात" पर जाता हूँ।

समस्या कहाँ हे? क्या मेरी सिम में कुछ गड़बड़ है?

उत्तर:

उत्तर № 1 के लिए 35

हमारे प्रोजेक्ट में भी यही समस्या थी। निष्कर्ष यह था कि यह सिम कार्ड पर निर्भर करता है।

हमारे साथ क्या हुआ:

  • एटी एंड टी सिम कार्ड के साथ गैलेक्सी एस: फोन नंबर, सेटिंग्स शो नंबर पढ़ सकते हैं
  • एक यूरोपीय सिम कार्ड के साथ एक ही गैलेक्सी: सेटिंग्स में नंबर और "अज्ञात" नहीं पढ़ सकते हैं (सेल फोन पूरी तरह से कार्यात्मक था, बस "नंबर पढ़ा नहीं गया")

यह अन्य मंचों में भी बताया गया है।

अंत में हमने फोन नंबर के लिए उपयोगकर्ता से पूछने का फैसला किया। थोड़ा और अधिक शामिल है, वास्तव में: if( "SIM card present" && "cannot read the cell number") "ask user"; । अन्यथा हम उस उपयोगकर्ता को गलत करते रहेंगे जो पहली बार में सिम कार्ड नहीं बनाता है।


जवाब के लिए 11 № 2

फोन नंबर के बजाय सिम कार्ड सीरियल नंबर का उपयोग करें, जो हमेशा मौजूद रहता है और हमेशा एक मान्य मूल्य होता है।

 telephonyManager.getSimSerialNumber();

सिम सीरियल नंबर ऑपरेटर के भीतर कम से कम अद्वितीय है। तो साथ दिया

 telephonyManager.getNetworkOperator();

आपके पास देश के भीतर एक ग्राहक के लिए एक विशिष्ट पहचानकर्ता होगा।

इसके साथ संयुक्त

 telephonyManager.getNetworkCountryIso();

आपके पास एक ग्राहक के लिए विश्व स्तर पर विशिष्ट पहचानकर्ता होगा।

उंमीद है कि यह मदद मिलेगी ।

चीयर्स।


जवाब के लिए 5 № 3

सिम कार्ड फोन नंबर को स्टोर करता है और इसे संपादित किया जा सकता हैआप से। कैंट एंड्रॉइड के लिए कहता है, लेकिन WM पर आप आसानी से अपना फोन नंबर संपादित कर सकते हैं, जो सिम कार्ड पर संग्रहीत है। बेशक, इसका मतलब यह नहीं है कि आप मक्खी पर अपना फोन नंबर बदल सकते हैं। वास्तव में, आप अपनी पसंद के किसी भी नंबर को लिखने के लिए स्वतंत्र हैं, और प्रोग्राम विश्वास करेंगे, कि यह आपका असली नंबर है :)


जवाब के लिए 2 № 4

जब मैंने एक सिम कार्ड को एक नए फोन में स्थानांतरित किया, तो मैंने कभी-कभी पाया कि फ़ोन नंबर सेटिंग में नहीं दिखता है -> फ़ोन के बारे में -> स्थिति -> मेरा फ़ोन नंबर।

मेरे डेटा बिंदु:

  • AT & T Atrix इसमें पूरी तरह से नया सिम लगाते हुए कहता है, "Voice MSISDN Line1 null"।
  • T-Mobile G1 इसमें नया सिम कार्ड डालकर फोन नंबर को सही ढंग से प्रदर्शित करता है।
  • मेरे पुराने G1 से T-Mobile G2 मूविंग सिम कार्ड को "अज्ञात" कहा जाता है।

जवाब के लिए 0 № 5

मैं एक सिमकार्ड का उपयोग करता हूं जो केवल डेटा ट्रांसफर की अनुमति देता है। यह फोन कॉल की अनुमति नहीं देता है।

जब मैं फोन करने की कोशिश करता हूं getLine1Number(), मुझे खाली स्ट्रिंग मिलती है।


जवाब के लिए 0 № 6

अगर सिम कार्ड है तो टेलीफोन नंबर उपलब्ध हैयह उसकी अनुमति देता है। हमारी कंपनी में मुझे केवल एक सिम मिली, जिसकी अनुमति नंबर है। मैं इस सिम को सभी एंड्रॉइड डिवाइस पर टेटस्टाइन कर रहा हूं। सभी ठीक है। getLine1Number () ठीक है। अब मैं अन्य सिम के लिए फ़ोन नंबर ढूंढ रहा हूँ। हमारे एसएमएस-सर्वर या अन्य एंड्रॉइड डिवाइस पर एसएमएस भेजें (एसएमएस की प्रोसेसिंग के साथ)