2014-10-09 101 views
0

您好我开发了一个Worklight应用程序,它使用Bluemix IBM Push,当我收到通知时,如果应用程序已关闭,它可以正常工作并打开应用程序,但当应用程序以下错误打开应用程序崩溃。Worklight应用程序在接收推送通知时崩溃

10-09 18:13:00.676: E/AndroidRuntime(4665): FATAL EXCEPTION: main 
10-09 18:13:00.676: E/AndroidRuntime(4665): java.lang.ClassCastException: com.ibm.mobile.services.push.internal.InternalPushMessage cannot be cast to com.worklight.androidgap.push.GCMIntentService$Message 
10-09 18:13:00.676: E/AndroidRuntime(4665):  at com.worklight.androidgap.plugin.Push.onNewIntent(Push.java:193) 
10-09 18:13:00.676: E/AndroidRuntime(4665):  at org.apache.cordova.PluginManager.onNewIntent(PluginManager.java:371) 
10-09 18:13:00.676: E/AndroidRuntime(4665):  at org.apache.cordova.CordovaWebView.onNewIntent(CordovaWebView.java:874) 
10-09 18:13:00.676: E/AndroidRuntime(4665):  at org.apache.cordova.CordovaActivity.onNewIntent(CordovaActivity.java:702) 
10-09 18:13:00.676: E/AndroidRuntime(4665):  at android.app.Instrumentation.callActivityOnNewIntent(Instrumentation.java:1225) 
10-09 18:13:00.676: E/AndroidRuntime(4665):  at android.app.ActivityThread.deliverNewIntents(ActivityThread.java:2472) 
10-09 18:13:00.676: E/AndroidRuntime(4665):  at android.app.ActivityThread.performNewIntents(ActivityThread.java:2485) 
10-09 18:13:00.676: E/AndroidRuntime(4665):  at android.app.ActivityThread.handleNewIntent(ActivityThread.java:2494) 
10-09 18:13:00.676: E/AndroidRuntime(4665):  at android.app.ActivityThread.access$1400(ActivityThread.java:165) 
10-09 18:13:00.676: E/AndroidRuntime(4665):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1444) 
10-09 18:13:00.676: E/AndroidRuntime(4665):  at android.os.Handler.dispatchMessage(Handler.java:107) 
10-09 18:13:00.676: E/AndroidRuntime(4665):  at android.os.Looper.loop(Looper.java:194) 
10-09 18:13:00.676: E/AndroidRuntime(4665):  at android.app.ActivityThread.main(ActivityThread.java:5391) 
10-09 18:13:00.676: E/AndroidRuntime(4665):  at java.lang.reflect.Method.invokeNative(Native Method) 
10-09 18:13:00.676: E/AndroidRuntime(4665):  at java.lang.reflect.Method.invoke(Method.java:525) 
10-09 18:13:00.676: E/AndroidRuntime(4665):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:833) 
10-09 18:13:00.676: E/AndroidRuntime(4665):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600) 
10-09 18:13:00.676: E/AndroidRuntime(4665):  at dalvik.system.NativeStart.main(Native Method) 
10-09 18:13:00.677: D/WLClient(4665): WLClient$ActivityListener.onActivityPaused in WLClient.java:1155 :: on activity paused com.Techathon.Techathon . activity count = 0 
10-09 18:13:00.683: D/NONE(4665): Flush called 
10-09 18:13:00.718: E/com.worklight.common.Logger$UncaughtExceptionHandler(4665): Logger$UncaughtExceptionHandler.uncaughtException in Logger.java:402 :: Uncaught Exception 
10-09 18:13:00.718: E/com.worklight.common.Logger$UncaughtExceptionHandler(4665): java.lang.ClassCastException: com.ibm.mobile.services.push.internal.InternalPushMessage cannot be cast to com.worklight.androidgap.push.GCMIntentService$Message 
10-09 18:13:00.718: E/com.worklight.common.Logger$UncaughtExceptionHandler(4665): at com.worklight.androidgap.plugin.Push.onNewIntent(Push.java:193) 
10-09 18:13:00.718: E/com.worklight.common.Logger$UncaughtExceptionHandler(4665): at org.apache.cordova.PluginManager.onNewIntent(PluginManager.java:371) 
10-09 18:13:00.718: E/com.worklight.common.Logger$UncaughtExceptionHandler(4665): at org.apache.cordova.CordovaWebView.onNewIntent(CordovaWebView.java:874) 
10-09 18:13:00.718: E/com.worklight.common.Logger$UncaughtExceptionHandler(4665): at org.apache.cordova.CordovaActivity.onNewIntent(CordovaActivity.java:702) 
10-09 18:13:00.718: E/com.worklight.common.Logger$UncaughtExceptionHandler(4665): at android.app.Instrumentation.callActivityOnNewIntent(Instrumentation.java:1225) 
10-09 18:13:00.718: E/com.worklight.common.Logger$UncaughtExceptionHandler(4665): at android.app.ActivityThread.deliverNewIntents(ActivityThread.java:2472) 
10-09 18:13:00.718: E/com.worklight.common.Logger$UncaughtExceptionHandler(4665): at android.app.ActivityThread.performNewIntents(ActivityThread.java:2485) 
10-09 18:13:00.718: E/com.worklight.common.Logger$UncaughtExceptionHandler(4665): at android.app.ActivityThread.handleNewIntent(ActivityThread.java:2494) 
10-09 18:13:00.718: E/com.worklight.common.Logger$UncaughtExceptionHandler(4665): at android.app.ActivityThread.access$1400(ActivityThread.java:165) 
10-09 18:13:00.718: E/com.worklight.common.Logger$UncaughtExceptionHandler(4665): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1444) 
10-09 18:13:00.718: E/com.worklight.common.Logger$UncaughtExceptionHandler(4665): at android.os.Handler.dispatchMessage(Handler.java:107) 
10-09 18:13:00.718: E/com.worklight.common.Logger$UncaughtExceptionHandler(4665): at android.os.Looper.loop(Looper.java:194) 
10-09 18:13:00.718: E/com.worklight.common.Logger$UncaughtExceptionHandler(4665): at android.app.ActivityThread.main(ActivityThread.java:5391) 
10-09 18:13:00.718: E/com.worklight.common.Logger$UncaughtExceptionHandler(4665): at java.lang.reflect.Method.invokeNative(Native Method) 
10-09 18:13:00.718: E/com.worklight.common.Logger$UncaughtExceptionHandler(4665): at java.lang.reflect.Method.invoke(Method.java:525) 
10-09 18:13:00.718: E/com.worklight.common.Logger$UncaughtExceptionHandler(4665): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:833) 
10-09 18:13:00.718: E/com.worklight.common.Logger$UncaughtExceptionHandler(4665): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600) 
10-09 18:13:00.718: E/com.worklight.common.Logger$UncaughtExceptionHandler(4665): at dalvik.system.NativeStart.main(Native Method) 
10-09 18:13:02.586: I/Process(4665): Sending signal. PID: 4665 SIG: 9 

我已经安装根据这里提供的链接,我的环境http://mbaas-gettingstarted.ng.bluemix.net/hybrid

回答

1

您是否尝试过修改的AndroidManifest.xml删除对GCMIntentService引用?

您可能能够注释掉部分如下解释: https://developer.ibm.com/answers/questions/19343/double-push-notifications/?smartspace=bluemix

这样,你将只使用Bluemix推SDK回应推送通知是。希望完全避免这个错误。

编辑:经过一番玩弄后,我发现Push插件是造成冲突的SDK的原因。在我将config.xml中的Worklight Push插件注释掉后,该错误消失了。

评论这些线,然后再试一次:

<feature name="Push"> 
    <param name="android-package" value="com.worklight.androidgap.plugin.Push" /> 
</feature> 
相关问题