純粋な Java コードを使用してプログラムで UDID と MAC アドレスを見つけることはできますか?
いいえの場合は、それを見つけるために使用した独自の方法を教えてください。
純粋な Java コードを使用してプログラムで UDID と MAC アドレスを見つけることはできますか?
いいえの場合は、それを見つけるために使用した独自の方法を教えてください。
JDK 1.6 以降、開発者はclass を介してネットワーク カードの詳細にアクセスできますNetworkInterface
。
システムの MAC アドレスを取得するには、ここで利用できる優れたチュートリアルがいくつかあります。
これらのチュートリアルでは、ネットワーク カードにアクセスする従来の方法と最新の方法を示します。
さて、UDID
部分的には、デバイスの一意の識別子として何を使用できるかについていくつかの選択肢がある Android デバイスであると想定しています。選択肢は通常、次のように絞り込まれます。
MAC address
Serial Number
ANDROID_ID
このうち、ANDROID_ID を UDID として使用することをお勧めします。理由は次のとおりです。
デバイスの Wi-Fi または Bluetooth ハードウェアから Mac アドレスを取得できる場合もありますが、すべてのデバイスが Wi-Fi に対応しているわけではないため、お勧めしません。また、WiFi がオンになっていない場合、ハードウェアが Mac アドレスを報告しない場合があります。
Android 2.3 (「Gingerbread」) 以降、これはandroid.os.Build.SERIALで利用できます。テレフォニーのないデバイスは、ここで一意のデバイス ID を報告する必要があります。一部の電話もそうする場合があります。
より具体的には、これANDROID_ID
は、デバイスの最初の起動時に生成および保存される 64 ビットの量です。デバイスがワイプされるとリセットされます。ANDROID_ID は一意のデバイス識別子として適切な選択肢のようですが、欠点もあります。
参考文献: