現在、Androidデバイスの識別子としてMACアドレスを使用しています。
WifiManager wifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE);
WifiInfo wInfo = wifiManager.getConnectionInfo();
String mac = wInfo.getMacAddress();
ただし、一部のユーザーのデバイスではmac
が空であることがわかりました。なぜそれが空であるのか私は少し混乱しています。
理由がわかれば最高です!
それ以外の場合、Androidデバイスを識別するための代替手段を提供できますか?
Androidデバイスについてユニークなものを見つけることで最善の策は、そのシリアル番号にアクセスすることです。これを行う方法に関する他のいくつかの投稿がありますが、最も閲覧されたものはここにあります:
imei
に基づいて、Androidモバイルを一意に識別できます。
TelephonyManager telephonyManager = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);
telephonyManager.getDeviceId();
AndroidManifest.xmlに権限を追加します。
<uses-permission Android:name="Android.permission.READ_PHONE_STATE"/>
エミュレータでは、おそらく0000 ...のような値を取得します。デバイスIDを取得するには、デバイスで確認してください。