以程式設計方式啟用和禁用廣播接收器

要啟用或禁用 BroadcastReceiver,我們需要獲取 PackageManager 的引用,我們需要一個 ComponentName 物件,其中包含我們要啟用/禁用的接收器類:

ComponentName componentName = new ComponentName(context, MyBroadcastReceiver.class);
PackageManager packageManager = context.getPackageManager();

現在我們可以呼叫以下方法來啟用 BroadcastReceiver

packageManager.setComponentEnabledSetting(
    componentName,
    PackageManager.COMPONENT_ENABLED_STATE_ENABLED,
    PackageManager.DONT_KILL_APP);

或者我們可以使用 COMPONENT_ENABLED_STATE_DISABLED 來禁用接收器:

packageManager.setComponentEnabledSetting(
    componentName,
    PackageManager.COMPONENT_ENABLED_STATE_DISABLED,
    PackageManager.DONT_KILL_APP);