1. ホーム
  2. android

[解決済み] プログラムによる放送受信機の登録

2022-04-25 02:59:38

質問

放送受信機をプログラム的に登録するベストプラクティス/方法を知りたいです。ユーザーの選択に応じて、特定の受信機を登録したい。

登録はマニフェストファイルを通して行われるため、コードでこれを実現する適切な方法があるかどうか疑問に思っています。

どのように解決するのですか?

マニフェストで公開されたコンポーネントがアクティブかどうかを制御したいようですが、実行中に動的にレシーバを登録(Context.registerReceiver() を使用)したいわけではありません。

もしそうなら、PackageManager.setComponentEnabledSetting()を使って、これらのコンポーネントがアクティブかどうかを制御することができます。

http://developer.android.com/reference/android/content/pm/PackageManager.html#setComponentEnabledSetting(android.content.ComponentName, int, int)

もし、実行中にブロードキャストを受信したいだけなら、 registerReceiver() を使用したほうがよいでしょう。 receiverコンポーネントは、主にブロードキャストが送信されるたびにアプリが起動することを確認する必要がある場合に便利です。