我已经将 android 应用程序转换为 bb10,在这里我能够在 bb10 中获得推送通知,直到 bb10 重新启动。如果我重新启动设备,则不会收到通知。如果我再次安装该应用程序,则能够收到通知。如果我也重启设备,我如何才能收到通知?
我在android list 文件中添加了以下权限
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="com.packagename.permission.C2D_MESSAGE" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
<receiver
android:name=".GCMBroadcastReceiver" // I have changed this also com.packagename.GCMBroadcastReceiver
android:enabled="true"
android:exported="true"
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.packagename" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</receiver>
<service android:name=".GCMIntentService" /> //I have changed this also.. <service android:name="com.packagename.GCMIntentService" />
我需要改变什么吗?
最佳答案
我在 BB10 dev alpha A 设备上遇到了这个问题,手机重启后推送通知将停止工作。 - 这可能是其他开发 alpha 设备的情况。
在生产设备上,我认为需要启动 Android 运行时(至少运行一个 android 移植的应用程序来启动它),以便您的应用程序真正能够接收推送通知,但我不是 100%关于这个的详细信息(这就是为什么我在搜索时结束了你的问题)。
编辑: 根据一些 BB“文档”,您会发现 Android 运行时的 promise 更少:“Android 运行时会将您的推送排队,直到应用程序启动。” - 参见 https://developer.blackberry.com/android/apisupport/creating_push-enabled_android_apps.html这在实际有用的细节上相当稀缺。
关于android - 在 Android 运行时重启 bb10 后未收到推送通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17801901/