まTelephonyManger.getDeviceId()を返しのデバイスidはタブレットのようなGalaxy Tab...?
質問
用していただきたいと思い、デバイスidと、各Android装置です。私は現在開発のためのタブレット端末装置です。取得したいユニークなデバイスidに対応する値を...
いいのか知りたいタブレット端末を戻り値の型関数が値を返す場合に使用しTelephonyManager.getDeviceId()...???やはりその他の値は各デバイス???
解決
これはのないの重複質問です。結局のところ、GoogleのCTSはTelephonyManagerのgetPhoneTypeがTelephonyManagerのgetDeviceIdが非電話デバイスの場合はnullにする必要があるなしとしないために必要であることを必要とします。
だから、IMEIを取得するには、使用してみてください。
String imei = SystemProperties.get("ro.gsm.imei")
残念ながら、SystemPropertiesは、それが正規のアプリケーションで一般に公開されていない手段、アンドロイドOS非publicクラスです。それにアクセスするヘルプは、この記事を見て試してみてください。どこにあるandroid.os.SystemPropertiesする
他のヒント
TelephonyManger.getDeviceId() を返す独特のデバイスIDは、例えば、公衆無線lanへ勝手に繋がGSMのMEIDはESN CDMAます。
final TelephonyManager mTelephony = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
String myAndroidDeviceId = mTelephony.getDeviceId();
私のお勧めします。:
を設定します。ます。ANDROID_ID ることを返しますAndroid IDとして独自の64ビットの六角文字列になります。
String myAndroidDeviceId = Secure.getString(getApplicationContext().getContentResolver(), Secure.ANDROID_ID);
時には TelephonyManger.getDeviceId() 場合は、nullを返却しますので、確保するユニークなidを使用方法:
public String getUniqueID(){
String myAndroidDeviceId = "";
TelephonyManager mTelephony = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
if (mTelephony.getDeviceId() != null){
myAndroidDeviceId = mTelephony.getDeviceId();
}else{
myAndroidDeviceId = Secure.getString(getApplicationContext().getContentResolver(), Secure.ANDROID_ID);
}
return myAndroidDeviceId;
}
Androidの8すべてが変わったのので。あなたは、デバイスのシリアル番号を取得し、許可Build.getSerial()
を追加するために、READ_PHONE_STATE
を使用する必要があります。
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
serial = Build.getSerial(); // Requires permission READ_PHONE_STATE
} else {
serial = Build.SERIAL; // Will return 'unknown' for device >= Build.VERSION_CODES.O
}
そしてIMEIまたはMEIDこの方法を取得ます:
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
String imei = tm.getImei(); // Requires permission READ_PHONE_STATE
serial = imei == null ? tm.getMeid() : imei; // Requires permission READ_PHONE_STATE
} else {
serial = tm.getDeviceId(); // Requires permission READ_PHONE_STATE
}