Android前台服务一直抛出“java.lang.IllegalArgumentException: Service not registered”异常。
创始人
2024-10-09 15:02:10
0次

出现“java.lang.IllegalArgumentException: Service not registered”异常通常是因为在解绑服务之后,前台服务仍然尝试取消注册未被注册的接收器。

以下是一个解决方法的代码示例:

public class MyService extends Service {
    private MyReceiver myReceiver;
    private boolean isRegistered = false;

    @Override
    public void onCreate() {
        super.onCreate();
        // 创建广播接收器
        myReceiver = new MyReceiver();
    }

    @Override
    public int onStartCommand(Intent intent, int flags, int startId) {
        // 注册广播接收器
        if (!isRegistered) {
            registerReceiver(myReceiver, new IntentFilter("com.example.myaction"));
            isRegistered = true;
        }
        
        // 将服务设置为前台服务
        Notification notification = new Notification.Builder(this)
                .setContentTitle("My Service")
                .setContentText("Running...")
                .setSmallIcon(R.drawable.ic_notification)
                .build();
        startForeground(1, notification);
        
        // 执行其他任务
        
        return START_STICKY;
    }

    @Override
    public void onDestroy() {
        super.onDestroy();
        // 解绑服务时取消注册广播接收器
        if (isRegistered) {
            unregisterReceiver(myReceiver);
            isRegistered = false;
        }
    }

    @Nullable
    @Override
    public IBinder onBind(Intent intent) {
        return null;
    }

    // 自定义广播接收器
    public class MyReceiver extends BroadcastReceiver {
        @Override
        public void onReceive(Context context, Intent intent) {
            // 处理接收到的广播消息
        }
    }
}

在此示例中,我们创建了一个前台服务MyService,并在onStartCommand方法中注册广播接收器MyReceiver。在onDestroy方法中,解绑服务时取消注册广播接收器。

请确保在取消注册广播接收器之前,先判断广播接收器是否已注册。这样可以避免重复取消注册未注册的接收器,从而避免抛出“java.lang.IllegalArgumentException: Service not registered”异常。

相关内容

热门资讯

指导大家!皇冠棋牌透视功能攻略... 指导大家!皇冠棋牌透视功能攻略,皇冠棋牌真是是真的有透视攻略(有辅助挂助手)1、首先打开皇冠棋牌辅助...
一分钟教会你!七喜大厅透视功能... 一分钟教会你!七喜大厅透视功能app,七喜大厅真是是有透视app(有辅助挂教学)1)七喜大厅辅助插件...
热门推荐!老友二打一透视挂功能... 热门推荐!老友二打一透视挂功能教程,老友二打一一直存在有透视挂教程(有辅助挂透视)1、打开软件启动之...
总算了解!奕棋耍大牌辅助器功能... 总算了解!奕棋耍大牌辅助器功能攻略,奕棋耍大牌总是真的有辅助器攻略(有辅助挂猫腻)1)奕棋耍大牌有没...
揭秘!七喜大厅透视功能app,... 揭秘!七喜大厅透视功能app,七喜大厅真是是有透视app(有辅助挂app)1、游戏颠覆性的策略玩法,...
玩家必知教程!五喜休闲辅助功能... 玩家必知教程!五喜休闲辅助功能技巧,五喜休闲总是有辅助技巧(果真有辅助挂)五喜休闲是不是有人用挂微扑...
大家学习交流!AG真人透视功能... 大家学习交流!AG真人透视功能软件,AG真人一贯有透视软件(有辅助挂秘籍)1、AG真人破解器简单,A...
实操分享!战皇大厅透视功能方法... 实操分享!战皇大厅透视功能方法,战皇大厅果然存在有透视方法(真的有辅助挂)该软件可以轻松地帮助玩家将...
六分钟了解!欢乐局透视挂功能软... 六分钟了解!欢乐局透视挂功能软件,欢乐局本来是真的有透视挂软件(有辅助挂规律)1、欢乐局脚本辅助下载...
科技通报!友空互娱透视挂功能教... 科技通报!友空互娱透视挂功能教程,友空互娱切实真的有透视挂教程(有辅助挂详情)1、上手简单,内置详细...