2013-02-15 42 views
9

Hiện tại, tôi đang sử dụng địa chỉ MAC làm mã định danh cho thiết bị Android.Cách xác định thiết bị Android theo cách lập trình?

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

Tuy nhiên, tôi thấy số mac trống cho thiết bị của một số người dùng. Tôi hơi bối rối vì sao nó có thể trống rỗng.

Nếu bạn có thể tìm ra lý do, đó là điều tốt nhất!

Nếu không, bạn có thể cung cấp giải pháp thay thế để nhận dạng thiết bị Android không?

+0

Tại sao bạn muốn thực hiện việc này? – iTech

+0

@iTech được sử dụng để lưu trữ dữ liệu của mỗi người dùng trong cơ sở dữ liệu. – JackWM

+0

Điều gì về việc nhận tài khoản người dùng android thay thế? tức là 'email' Nó ổn định hơn, nếu việc sử dụng đã bán điện thoại của anh ta/cô ấy và nhận một chiếc điện thoại mới, bạn vẫn có thể xác định được – iTech

Trả lời

3

Đặt cược tốt nhất của bạn với việc tìm kiếm điều gì đó độc đáo về thiết bị Android sẽ là truy cập vào số sêri của nó. Có một số bài viết khác về cách để làm điều này, nhưng một trong những được xem nhiều nhất là ở đây:

How to find serial number of Android device?

10

Bạn có thể xác định bất kỳ điện thoại di động Android độc đáo trên cơ sở imei.

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

Thêm sự cho phép vào AndroidManifest.xml của bạn:

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

Trong giả lập, có thể bạn sẽ có được một giống như một 0000 ... giá trị. Kiểm tra nó trên thiết bị để lấy id thiết bị.

+4

Thiết bị không phải là điện thoại sẽ không có số IMEI duy nhất. – CommonsWare

Các vấn đề liên quan