使用服务Android时,应用程序在关闭时崩溃,因为我试图使用意图

沙尚克·香卡兰南(Shashank Shankaranand)
public int onStartCommand(Intent intent, int flags, int startId) {
    if (intent.getExtras() != null) {
        String temp = intent.getStringExtra("key");
        temp1 = Integer.parseInt(temp);
        counter = temp1;
    }
}

我正在将数据传递给服务,当应用程序打开时它可以正常工作,但是一旦我关闭应用程序,它就会崩溃。.我已经尝试了很多事情,并且对android还是陌生的。任何帮助,将不胜感激

提前致谢。

这是日志

03-21 15:35:07.868 21818-21818/? E/AndroidRuntime: FATAL EXCEPTION: main
                                                   Process: com.cs442.shash5259.assignment_6, PID: 21818
                                                   java.lang.RuntimeException: Unable to start service com.cs442.shash5259.assignment_6.Myservice@9d88461 with null: java.lang.NullPointerException: Attempt to invoke virtual method 'android.os.Bundle android.content.Intent.getExtras()' on a null object reference
                                                       at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:3045)
                                                       at android.app.ActivityThread.-wrap17(ActivityThread.java)
                                                       at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1452)
                                                       at android.os.Handler.dispatchMessage(Handler.java:102)
                                                       at android.os.Looper.loop(Looper.java:148)
                                                       at android.app.ActivityThread.main(ActivityThread.java:5443)
                                                       at java.lang.reflect.Method.invoke(Native Method)
                                                       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:728)
                                                       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
                                                    Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'android.os.Bundle android.content.Intent.getExtras()' on a null object reference
                                                       at com.cs442.shash5259.assignment_6.Myservice.onStartCommand(Myservice.java:55)
                                                       at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:3028)
                                                       at android.app.ActivityThread.-wrap17(ActivityThread.java) 
                                                       at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1452) 
                                                       at android.os.Handler.dispatchMessage(Handler.java:102) 
                                                       at android.os.Looper.loop(Looper.java:148) 
                                                       at android.app.ActivityThread.main(ActivityThread.java:5443) 
                                                       at java.lang.reflect.Method.invoke(Native Method) 
                                                       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:728) 
                                                       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618) 
AAD编程

纵观日志,很显然,在你的意图对象onStartCommandnull,当应用程序被关闭。

查看Service源代码中文档,其中提到:

Intent提供给onStartCommand可以为null,如果它的进程已经走了之后,正在重新启动该服务,它以前返回除了什么START_STICKY_COMPATIBILITY

您可以根据应用程序的要求以至少2种不同的方式处理此问题。

1.您可以在onStartCommand中修改以下代码:

public int onStartCommand(Intent intent, int flags, int startId) {
        if (intent!= null) {
            String temp = intent.getStringExtra("key");
            temp1 = Integer.parseInt(temp);
            counter = temp1;
        }
    }

这样可以防止崩溃,但不会更新 counter

2.Or您可能会返回START_REDELIVER_INTENTonStartCommand()服务回调,使整个意图被送到下面的重新启动,从而防止Intentnull

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用意图过滤器启动时Xamarin.Android mvvmcross应用程序崩溃

来自分类Dev

我启动意图时Android应用程序崩溃

来自分类Dev

使用意图时在库模块中使用应用程序模块依赖性

来自分类Dev

使用addView()时我的应用程序崩溃

来自分类Dev

当我使用SupportStreetViewPanoramaFragment时应用程序崩溃

来自分类Dev

使用addView()时我的应用程序崩溃

来自分类Dev

当我使用LinearLayout.addView()时,我的Android应用程序崩溃

来自分类Dev

当我使用TabLayout时,我的Android Studio应用程序崩溃,该如何解决?

来自分类Dev

使用意图与多个活动进行应用程序通信

来自分类Dev

应用程序内无法使用意图

来自分类Dev

尝试使用摄像头意图捕获视频时,应用程序崩溃

来自分类Dev

Android:VerticalGridFragment导致应用程序在使用ErrorFragment时崩溃?

来自分类Dev

在Android中使用gridview时应用程序崩溃

来自分类Dev

使用SherlockFragmentActivity时应用程序崩溃

来自分类Dev

使用startActivityForResult时应用程序崩溃

来自分类Dev

使用 Intent 时应用程序崩溃

来自分类常见问题

已关闭:Android:在android 9(sdk 29)以下使用com.google.android.material时,应用程序始终崩溃

来自分类Dev

当我们使用意图停止服务时,额外的数据是否必须与先前的意图相同?

来自分类Dev

意图服务使我的应用程序崩溃?

来自分类Dev

当我开始一个新的意图时,我的应用程序崩溃

来自分类Dev

当我点击运行应用程序时,android 服务消失了,当应用程序崩溃时也是如此

来自分类Dev

应用程序从意图接收数据时崩溃

来自分类Dev

以最终意图开始活动时应用程序崩溃

来自分类Dev

应用程序从意图接收数据时崩溃

来自分类Dev

单击按钮(“意图”)将其打开时,Google Maps在我的应用程序上崩溃

来自分类Dev

我的Android应用程序的gameLoop线程在退出时崩溃

来自分类Dev

调用getWritableDatabase()时,我的Android应用程序崩溃了;方法

来自分类Dev

当我的android应用程序崩溃时获取通知

来自分类Dev

当我调用 EditText 时,android 应用程序崩溃

Related 相关文章

  1. 1

    使用意图过滤器启动时Xamarin.Android mvvmcross应用程序崩溃

  2. 2

    我启动意图时Android应用程序崩溃

  3. 3

    使用意图时在库模块中使用应用程序模块依赖性

  4. 4

    使用addView()时我的应用程序崩溃

  5. 5

    当我使用SupportStreetViewPanoramaFragment时应用程序崩溃

  6. 6

    使用addView()时我的应用程序崩溃

  7. 7

    当我使用LinearLayout.addView()时,我的Android应用程序崩溃

  8. 8

    当我使用TabLayout时,我的Android Studio应用程序崩溃,该如何解决?

  9. 9

    使用意图与多个活动进行应用程序通信

  10. 10

    应用程序内无法使用意图

  11. 11

    尝试使用摄像头意图捕获视频时,应用程序崩溃

  12. 12

    Android:VerticalGridFragment导致应用程序在使用ErrorFragment时崩溃?

  13. 13

    在Android中使用gridview时应用程序崩溃

  14. 14

    使用SherlockFragmentActivity时应用程序崩溃

  15. 15

    使用startActivityForResult时应用程序崩溃

  16. 16

    使用 Intent 时应用程序崩溃

  17. 17

    已关闭:Android:在android 9(sdk 29)以下使用com.google.android.material时,应用程序始终崩溃

  18. 18

    当我们使用意图停止服务时,额外的数据是否必须与先前的意图相同?

  19. 19

    意图服务使我的应用程序崩溃?

  20. 20

    当我开始一个新的意图时,我的应用程序崩溃

  21. 21

    当我点击运行应用程序时,android 服务消失了,当应用程序崩溃时也是如此

  22. 22

    应用程序从意图接收数据时崩溃

  23. 23

    以最终意图开始活动时应用程序崩溃

  24. 24

    应用程序从意图接收数据时崩溃

  25. 25

    单击按钮(“意图”)将其打开时,Google Maps在我的应用程序上崩溃

  26. 26

    我的Android应用程序的gameLoop线程在退出时崩溃

  27. 27

    调用getWritableDatabase()时,我的Android应用程序崩溃了;方法

  28. 28

    当我的android应用程序崩溃时获取通知

  29. 29

    当我调用 EditText 时,android 应用程序崩溃

热门标签

归档