0

是的,我查看了所有类似的问题,但没有找到合适的答案。我需要设备 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 测试?

4

2 回答 2

1

区别写在两种方法的描述中......
但是,我认为 usingIMEI number更可靠,因为它可以识别设备本身。如果设备必须恢复默认配置怎么办?
如果您选择第二个选项,您必须检查它是否不会生成新号码。
更多关于 IMEI 的信息可以在这里找到:http ://en.wikipedia.org/wiki/International_Mobile_Equipment_Identity

于 2013-08-14T15:16:54.117 回答
1

1.代码

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.清单

在清单文件中添加使用权限

<uses-permission android:name="android.permission.READ_PHONE_STATE" />
于 2014-04-01T08:01:57.387 回答