开发者社区> 问答> 正文

android退出程序,service报空指针?报错

我开启了服务做后天网络请求,与服务器交互,但是每次退出程序都会报空指针,我在activity的onDestroy中有关闭的service的

@Override
    protected void onDestroy() {
        Intent intent = new Intent(this, UpdateData.class);
        stopService(intent);
        unregisterReceiver(receiver);
        super.onDestroy();

    }



service部分代码

public int onStartCommand(Intent intent, int flags, int startId) {
        String action = intent.getAction();
        //没有网络情况下,发送广播
        if (!new NetworkUtil(getApplication()).isNetworkConnected()) {
            sendBroadcastNetWorkFail();
        } else {
            //执行更新news操作
            if (MainActivity.ACTION_NEWS_UPDATE.equals(action)) {
                Log.i(getClass().getSimpleName(), "update news service start");
                updateNews();
            } else if (MainActivity.ACTION_CHECK_VERSION.equals(action)) {
                //执行检测版本信息操作
                checkVersion();
            } else if (MainActivity.ACTION_SKILL_UPDATE.equals(action)) {
                //更新skill界面
                updateSkills();
            } else if (MainActivity.ACTION_RANK_UPDATE.equals(action)) {
                //更新排名
                updateRank();
            } else if (MainActivity.ACTION_SKILL_MAP.equals(action)){
                //更新分布图
                updateSkillsMap();
            }
        }
        return super.onStartCommand(intent, flags, startId);
    }



完成秋琼都是以广播的形式通知activity或者fragment更新UI,但是我每次退出程序都会掉用service的onStartCommand,显示的就是下面这段代码报错,空指针,难道stopService也会调用这个?我在调用stop的intent里面加个action也会报空指针
String action = intent.getAction();

展开
收起
爱吃鱼的程序员 2020-06-12 15:29:51 677 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    Service.onStartCommand()默认返回START_STICKY,会在Service被系统kill的时候重启调用onStartCommand()并且传入null的Intent。如果你不需要自动重启Service,Service.onStartCommand()返回 START_NO_STICKY就可以了

    START_STICKY_COMPATIBILITY已经改成这个常量了,谢谢你。意思就是退出后系统还用调用startCommand(),是不是理论上我还可以在让他做点缓存操作。
    2020-06-12 15:30:09
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
58同城Android客户端Walle框架演进与实践之路 立即下载
Android组件化实现 立即下载
蚂蚁聚宝Android秒级编译——Freeline 立即下载