[已解决,但我仍然想要最后一个问题的答案,问题是我使用大写字母而不是小写字母,我让代码让其他人可以更正错误]
我已经尝试了一些论坛页面并通过stackoverflow搜索了相同的内容,但我没有找到解决方案。
我有 2 个使用推送消息的应用程序,一个应用程序运行良好,但另一个没有,我在 Google 注册了 2 次,所以我得到 2 个不同的 Api 密钥和 2 个不同的发件人 ID,如果我切换发件人 ID,我仍然没有'在不工作的应用程序上获取 ID(但它在运行良好的应用程序上工作),它永远不会触发 onRegistered 函数
我的清单
<permission android:name=""com.sexolia.sexyAsiaticas.permission.C2D_MESSAGE" android:protectionLevel="normal" />
<uses-permission android:name="com.sexolia.sexyAsiaticas.permission.C2D_MESSAGE" />
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.INTERNET" />
我的接收器
<receiver android:name="com.google.android.gcm.GCMBroadcastReceiver"
android:permission="com.google.android.c2dm.permission.SEND" >
<intent-filter>
<action android:name="com.google.android.c2dm.intent.RECEIVE" />
<action android:name="com.google.android.c2dm.intent.REGISTRATION" />
<category android:name="com.sexolia.sexyasiaticas" />
</intent-filter>
</receiver>
我的服务
<service android:name=".GCMIntentService" />
我的注册功能
public void registrarGcm(Context ctx)
{
String regId = GCMRegistrar.getRegistrationId(ctx);
if (regId.equals(""))
{
GCMRegistrar.register(ctx, "795463622136"); //Sender ID
}
}
构造函数
public GCMIntentService() {
super("795463622136");
}
另外,我想知道,我如何决定哪个应用程序发送推送消息(是 api 密钥、发件人 ID 还是什么?)?当 1 个用户在 Google 上注册时,不同的应用程序有不同的 GCM id?