1

我已经将android应用程序转换为bb10,在这里可以在bb10中获得推送通知,直到bb10重新启动。如果我重新启动设备,则通知未收到。如果我再次安装该应用程序,则能够收到通知。如果我也重新启动设备,如何获得通知?

我在 android manifest 文件中添加了以下权限

<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" />

我需要改变什么吗?

4

1 回答 1

1

我在 BB10 dev alpha A 设备上遇到了这个问题,手机重启后推送通知将停止工作。- 这可能是其他开发 alpha 设备的情况。

在生产设备上,我认为需要启动 Android 运行时(运行至少一个 android 移植应用程序来启动它)才能让您的应用程序真正能够接收推送通知,但是我不是 100% 了解关于这个(这就是为什么我在搜索时最终回答了你的问题)。

编辑:根据一些 BB“文档”,您会发现 Android 运行时承诺更少:“Android 运行时将排队您的推送,直到应用程序启动。” - 请参阅https://developer.blackberry.com/android/apisupport/creating_push-enabled_android_apps.html,这在实际有用的细节上相当稀缺。

于 2013-07-25T13:05:56.343 回答