首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Xamarin禁用广播接收机

Xamarin禁用广播接收机
EN

Stack Overflow用户
提问于 2017-06-28 09:55:08
回答 1查看 597关注 0票数 1

我希望禁用一个广播接收器,我已附加到boot_completed的行动。但是,当用户禁用https://developer.android.com/training/scheduling/alarms.html底部的更新程序时,接收器将按预期的方式工作,但我希望禁用此接收器。

我试图使用的代码是:

代码语言:javascript
复制
ComponentName receiver = new ComponentName(context, "com.app.bootcompleted");
PackageManager pm = context.PackageManager;
pm.SetComponentEnabledSetting(receiver, PackageManager.COMPONENT_ENABLED_STATE_ENABLED, PackageManager.DontKillApp);

但是,COMPONENT_ENABLED_STATE_ENABLED不包含: PackageManager

Xamarin Android中是否有不同的方式禁用广播接收器?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-06-28 11:01:57

文档似乎过时了,https://developer.xamarin.com/api/member/Android.Content.PM.PackageManager.SetComponentEnabledSetting/

通过使用以下代码,我成功地启用/禁用了boradcast接收器:

代码语言:javascript
复制
//Stop the boot_complete receiver from starting the alarm
ComponentName receiver = new ComponentName(context, "com.app.bootCompleteReceiver");
PackageManager pm = context.PackageManager;
pm.SetComponentEnabledSetting(receiver, ComponentEnabledState.Disabled, ComponentEnableOption.DontKillApp);

此外,为了确保正确地装饰广播接收器:

代码语言:javascript
复制
[BroadcastReceiver (Name = "com.app.bootCompleteReceiver", Enabled = false)]
public class BootCompleteReceiver : BroadcastReceiver { ...
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44799245

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档