2013-02-15 23 views
9

वर्तमान में, मैं एक एंड्रॉइड डिवाइस के पहचानकर्ता के रूप में मैक पता का उपयोग कर रहा हूं।प्रोग्रामिंग के रूप में एंड्रॉइड डिवाइस की पहचान कैसे करें?

WifiManager wifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE); 
WifiInfo wInfo = wifiManager.getConnectionInfo(); 
String mac = wInfo.getMacAddress(); 

हालांकि, मैंने पाया mac कुछ उपयोगकर्ताओं के उपकरणों को खाली है। मैं थोड़ा उलझन में हूं कि यह खाली क्यों हो सकता है।

यदि आप कारण समझ सकते हैं, तो यह सबसे अच्छा है!

अन्यथा, क्या आप एंड्रॉइड डिवाइस की पहचान करने के लिए एक विकल्प प्रदान कर सकते हैं?

+0

आप ऐसा क्यों करना चाहते हैं? – iTech

+0

@iTech इसका उपयोग डेटाबेस में प्रति उपयोगकर्ता के डेटा को संग्रहीत करने के लिए किया जाता है। – JackWM

+0

इसके बजाय उपयोगकर्ता एंड्रॉइड खाता प्राप्त करने के बारे में क्या? यानी 'ईमेल' यह अधिक स्थिर है, अगर उपयोग ने अपना फोन बेचा और एक नया प्राप्त किया, तो आप अभी भी – iTech

उत्तर

3

एंड्रॉइड डिवाइस के बारे में कुछ अद्वितीय खोजने के साथ आपकी सबसे अच्छी शर्त अपने सीरियल नंबर तक पहुंच होगी। ऐसा करने के तरीके पर कई अन्य पोस्ट नहीं है, लेकिन सर्वाधिक देखे जाने वाले एक यहाँ है:

How to find serial number of Android device?

10

आप imei के आधार पर विशिष्ट किसी भी एंड्रॉयड मोबाइल की पहचान कर सकते हैं।

TelephonyManager telephonyManager = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE); 
telephonyManager.getDeviceId(); 

अपने AndroidManifest.xml में अनुमति जोड़ें:

<uses-permission android:name="android.permission.READ_PHONE_STATE"/> 

एमुलेटर में, आप शायद की तरह एक 0000 ... मूल्य एक मिल जाएगा। डिवाइस आईडी प्राप्त करने के लिए डिवाइस पर इसे जांचें।

+4

डिवाइस जो फ़ोन नहीं हैं, उनके पास एक अद्वितीय IMEI संख्या नहीं होगी। – CommonsWare