安卓设备ID和设备令牌有何不同?

4

我正在使用这段代码获取Android设备ID,我的设备ID是“3b3472d8998af818”。

protected String getDeviceId() {
    return Secure.getString(this.getContentResolver(), Secure.ANDROID_ID);
}

以下是针对我的设备的代码片段,获取android设备令牌的代码如下:
APA91bGeA3xOsXocz-eNOklONNVYwHyjvzyVMPQtC54_GX5Npx5fjWjpDbw6XOGqFi-a0lz7gL4BQlZXN-opPyHwJxxo3-1jyqjc1df6y8KwdVj7tUHVObcE3sF0XSpSngUkq6UfCEUTwgmsv-sjGuK863Y4R1kmHA

GCMRegistrar.register(this.context, CommonUtilities.SENDER_ID);

我不知道两个ID之间的区别是什么?


它们只是两个完全不同的数字,具有完全不同的目标... - Stefan de Bruijn
1个回答

3

两者完全不同。

Secure.ANDROID_ID

一个64位的数字(作为十六进制字符串),在设备第一次启动时随机生成,并应该在设备的整个生命周期内保持不变。(如果对设备进行出厂设置,该值可能会更改。)

GCMRegistrar.register(this.context, CommonUtilities.SENDER_ID); 可以从 GCM 获得设备的注册ID。通过此ID,GCM可以唯一地识别设备。

另一个区别是 Secure.ANDROID_ID 在设备进行出厂设置时可能会发生更改,而注册ID会定期更改。

如果您询问 CommonUtilities.SENDER_ID,那么 这是您的项目编号,稍后将用作 GCM 发送者 ID


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接