0 امتیاز
قبل در موبایل و لوازم الکترونیکی توسط (1.1هزار امتیاز)

آیا یک کد یکتا (Unique) برای هر دستگاه اندرویدی مثل موبایل و تبلت وجود دارد؟ برای مثال کد IMEI برای تبلت هایی که سیم کارت نمی خورند وجود ندارد.

1 پاسخ

0 امتیاز
قبل توسط (1.1هزار امتیاز)

برای این کار باید از ترکیب چند روش استفاده کنید تا مطمئن باشید حتما به ازای هر دستگاه اندرویدی یک کد یکتا (Unique) دارید:

1- IMEI

با استفاده از تکه کد زیر و افزودن دسترسی android.permission.READ_PHONE_STATE به فایل manifest می توانید کد IMEI دستگاه اندرویدی که سیم کارت می خورند را بدست بیاورید.

TelephonyManager TelephonyMgr = (TelephonyManager)getSystemService(TELEPHONY_SERVICE); 
String m_deviceId = TelephonyMgr.getDeviceId();

این کد حتما برای هر دستگاه اندرویدی منحصر به فرد است ولی دستگاه هایی که سیم کارت ندارند و بعضی از دستگاه های fake این کد را ندارند و دستگاه های دو سیم کارته دو IMEI متفاوت برای یک گوشی دارند.

2- Android ID

Android ID یک عدد یکتای 64 بیتی است که در زمان اولین بوت دستگاه تولید و ذخیره می شود:

String m_androidId = Secure.getString(getContentResolver(), Secure.ANDROID_ID);

مشکلات این روش این است گه زمانی که دستگاه اندرویدی Factory reset می شود این عدد دوباره تولید می شود و همچنین در صورت بروزرسانی نسخه اندروید دستگاه، ممکن است این عدد تغییر کند. بعضی از دستگاه های اندرویدی ساخت چین نیز Android ID یکسان دارند!

3- WLAN MAC Address

MAC Address دستگاه های اندرویدی که وای فای دارند منحصر به فرد است. با استفاده از تکه کد زیر و افزودن دسترسی android.permission.ACCESS_WIFI_STATE به فایل manifest می توانید WLAN MAC Address دستگاه اندرویدی را بدست بیاورید:

WifiManager m_wm = (WifiManager)getSystemService(Context.WIFI_SERVICE); 
String m_wlanMacAdd = m_wm.getConnectionInfo().getMacAddress();

4- Bluetooth Address

Bluetooth device address دستگاه های اندرویدی که بلوتوث دارند منحصر به فرد است. با استفاده از تکه کد زیر و افزودن دسترسی android.permission.BLUETOOTH به فایل manifest می توانید Bluetooth device addresss دستگاه اندرویدی را بدست بیاورید:

BluetoothAdapter m_BluetoothAdapter = BluetoothAdapter.getDefaultAdapter(); 
String m_bluetoothAdd = m_BluetoothAdapter.getAddress();

سوالات مشابه

+1 امتیاز
4 پاسخ 373 بازدید
...