用户单击Urban Airship通知时重新启动Android应用程序

用户单击Urban Airship通知时重新启动Android应用程序,第1张

概述我有一个 Android应用程序成功设置为使用Urban Airship接收通知,但在处理PushManager.ACTION_NOTIFICATION_OPENED)广播时遇到问题.我的BroadcastReceiver正在工作,接收消息,并调用以下内容(来自示例代码): Intent launch = new Intent(Intent.ACTION_MAIN);launch.setClas 我有一个 Android应用程序成功设置为使用Urban Airship接收通知,但在处理PushManager.ACTION_NOTIFICATION_OPENED)广播时遇到问题.我的broadcastReceiver正在工作,接收消息,并调用以下内容(来自示例代码):

Intent launch = new Intent(Intent.ACTION_MAIN);launch.setClass(UAirship.shared().getApplicationContext(),Main.class);launch.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);UAirship.shared().getApplicationContext().startActivity(launch);

这样可以正常工作,并将主要活动恢复到前台,除了应用程序不再运行的情况.如果我向手机发送通知,终止应用程序,然后打开通知,应用程序就会在NullPointerException上崩溃:

Failed to load Meta-data,NullPointer: nullUnable to takeOff automaticallyFATAL EXCEPTION: mainjava.lang.RuntimeException: Unable to start receiver com.urbanairship.CoreReceiver:         java.lang.NullPointerExceptionat androID.app.ActivityThread.handleReceiver(ActivityThread.java:2236)at androID.app.ActivityThread.access00(ActivityThread.java:130)at androID.app.ActivityThread$H.handleMessage(ActivityThread.java:1271)at androID.os.Handler.dispatchMessage(Handler.java:99)at androID.os.Looper.loop(Looper.java:137)at androID.app.ActivityThread.main(ActivityThread.java:4745)at java.lang.reflect.Method.invokeNative(Native Method)at java.lang.reflect.Method.invoke(Method.java:511)at com.androID.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)at com.androID.internal.os.ZygoteInit.main(ZygoteInit.java:553)at dalvik.system.NativeStart.main(Native Method)

我无法弄清楚是什么原因引起的.有什么想法吗?

解决方法 好吧,想通了.

我正在实例化UrbanAirship并从Activity上下文注册IntentReceiver,而不是从Application上下文注册.

哎呀.

总结

以上是内存溢出为你收集整理的用户单击Urban Airship通知时重新启动Android应用程序全部内容,希望文章能够帮你解决用户单击Urban Airship通知时重新启动Android应用程序所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/web/1128811.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-30
下一篇2022-05-30

发表评论

登录后才能评论

评论列表(0条)

    保存