Androidでブロードキャストレシーバーやサービスを一時的に無効にするには?
Androidでブロードキャストレシーバーやサービスを一時的に無効にするにはどうしたらいいだろう。
PackageManagerにsetComponentEnabledSetting()というメソッドがあるので、例えばこんな風にできる。
PackageManagerにsetComponentEnabledSetting()というメソッドがあるので、例えばこんな風にできる。
/** * 各種コンポーネント(ブロードキャストレシーバーやサービス)を無効・有効にする * * @param cxt コンテキスト * @param cls 無効(有効)にしたいクラス * @param disabled 無効にするかどうか */ public static void disableComponent(Context cxt, Class<?> cls, boolean disabled) { int newState = PackageManager.COMPONENT_ENABLED_STATE_DISABLED; if (!disabled) { newState = PackageManager.COMPONENT_ENABLED_STATE_ENABLED; } ComponentName compName = new ComponentName(cxt, cls); PackageManager pm = cxt.getPackageManager(); pm.setComponentEnabledSetting(compName, newState, PackageManager.DONT_KILL_APP); }
コメント
コメントを投稿