0

我正在创建广播接收器并从活动中调用。动态我想检查广播接收器是否已注册,以便我可以取消注册广播接收器?提前致谢

4

2 回答 2

1

请检查下面的链接以获取答案。他们你可以看到一个简短的好答案:

在 onReceive 中取消注册 Android 广播接收器会引发“接收器未注册”

于 2012-11-27T13:52:11.020 回答
0

使用包管理器使用此代码启用和禁用广播接收器:此代码的工作方式类似于切换按钮。

int flag = (enabled ?
                    PackageManager.COMPONENT_ENABLED_STATE_ENABLED :
                        PackageManager.COMPONENT_ENABLED_STATE_DISABLED);

            if(flag == 1)
                flag = 2;
            else
                flag = 1;

            Log.d("After Flag","::"+flag);

            ComponentName component = new ComponentName(StartActivity.this, SMSReceiver.class);

            getPackageManager().setComponentEnabledSetting(component, flag,PackageManager.DONT_KILL_APP);

其中 enable 是布尔值,我已将其保存为共享首选项,以了解我的广播接收器上次是否工作。

于 2012-11-30T17:20:18.207 回答