[英]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.