cordova - 当收到一个推送通知时,Android应用程序崩溃

时间:2015-04-02 18:00:09

标签: android cordova push-notification visual-studio-cordova

我用Cordova 3.0制作了一个Android应用程序Visual Studio 2013;在此应用中,我已使用此Push Notification插件与Google云消息传递服务。

注册应用程序工作正常,因为我从GCM获得了RegID,并且我的Web服务器中的注册也正常工作,但是,当我向设备发送任何通知时我遇到了问题:应用程序在收到Push时崩溃,而且没有任何表现。

我没有登录,因为应用程序在Cordova上,而Visual Studio无法调试此应用程序类型。

请帮我解决这个问题。

提前谢谢你。来自墨西哥的问候。

1 个答案:

答案 0 :(得分:0)

嗯,确实,经过大量的研究,我终于可以在VS中调试我的应用程序了(启动adb.exe时我遇到了问题)。在日志中,我可以看到我的代码在创建Receiver时出现了错误,这就是错误:Unable to instantiate receiver com.myapp.GcmBroadcastReceiver

我查看了这个,发现我的AndroidManifest.xml中可能存在错误;然后我按照说明完全像Cordova的文档,然后......这个工作!

这是Android Manifest权限和更多(Here is the Docs):

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<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" />
<permission android:name="$PACKAGE_NAME.permission.C2D_MESSAGE" android:protectionLevel="signature" />
<uses-permission android:name="$PACKAGE_NAME.permission.C2D_MESSAGE" />

<activity android:name="com.plugin.gcm.PushHandlerActivity"/>
<receiver android:name="com.plugin.gcm.CordovaGCMBroadcastReceiver" 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="$PACKAGE_NAME" />
    </intent-filter>
</receiver>
<service android:name="com.plugin.gcm.GCMIntentService" />

谢谢大家