【发布时间】:2010-06-23 03:19:05
【问题描述】:
我在我的 Android 应用程序中设置了一个 BroadcastReceiver,用于接收 SMS 接收事件。这很好用,但我希望能够通过打开和关闭 BroadcastReceiver 来打开和关闭 SMS 接收。因为如果我在 onReceive 方法中有一个简单的布尔值,即使 SMS 接收关闭,我的应用程序也会启动。
这可能吗?
干杯!
【问题讨论】:
标签: android sms broadcastreceiver
我在我的 Android 应用程序中设置了一个 BroadcastReceiver,用于接收 SMS 接收事件。这很好用,但我希望能够通过打开和关闭 BroadcastReceiver 来打开和关闭 SMS 接收。因为如果我在 onReceive 方法中有一个简单的布尔值,即使 SMS 接收关闭,我的应用程序也会启动。
这可能吗?
干杯!
【问题讨论】:
标签: android sms broadcastreceiver
您可以使用PackageManager#setComponentEnabledSetting 来启用/禁用清单文件中的组件。你用你的包名和广播接收器的类名创建一个ComponentName。然后使用COMPONENT_ENABLED_STATE_DISABLED 标志禁用它。并且取决于您是否希望整个Application 对象死亡或不使用DONT_KILL_APP 标志或0。尽管文档警告不要杀死Application。
【讨论】: