簡體   English   中英

android - 唯一的設備ID

[英]android - unique device ID

是的,我看了所有類似的問題,但是我找不到合適的答案。 我需要設備ID來為AdMob設置測試設備。 我的第一種方法( 由於安全原因,一些數字發生了變化 ):

  final TelephonyManager tm = (TelephonyManager) c
            .getSystemService(Context.TELEPHONY_SERVICE);
   Log.w("ID", tm.getDeviceId());

結果: 358948074051795

文檔說明: 返回唯一的設備ID,例如,GSM的IMEI和CDMA手機的MEID或ESN。 如果設備ID不可用,則返回null。

我的第二種方法:

   Log.w("ID_1",
            Secure.getString(c.getContentResolver(), Secure.ANDROID_ID));

結果: 98ade639139bf376

描述: 在設備首次啟動時隨機生成的64位數字(作為十六進制字符串),應在設備的生命周期內保持不變

問題:有什么區別? 我應該將哪一個用於AdMob測試目的?

差異寫在兩種方法的描述中......
但是,我認為使用IMEI number更可靠,因為它識別設備本身。 如果設備必須恢復默認配置怎么辦?
如果你選擇第二個選項,你必須檢查它是否沒有生成新的數字。
有關IMEI的更多信息,請訪問: http//en.wikipedia.org/wiki/International_Mobile_Equipment_Identity

1.Code

Settings.Secure#ANDROID_ID returns the Android ID as an unique 64-bit hex string

import android.provider.Settings.Secure;

String deviceId = Secure.getString(this.getContentResolver(),Secure.ANDROID_ID);

Toast.makeText(this, deviceId, Toast.LENGTH_SHORT).show();

2.manifest

在清單文件中添加uses-permission

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM