3

アプリのマニフェストに BroadcastReceiver を登録した場合 (ネットワークの変更を通知するなど)、通知はいつ開始されますか? デバイスの起動時?または、アプリを手動で起動する必要がありますか?

4

1 に答える 1

4

デバイスが完全に起動すると、ブロードキャストの受信を開始します。ただし、Honeycomb(APIレベル12)から開始して、ブロードキャストのリスニングを開始できるようにするには、アプリケーションを少なくとも1回起動する必要があります。

Honeycomb以降では、アプリケーションをインストールすると、フレームワークはそれをSTOPPED_PACKAGEとしてマークし、リスニング用のブロードキャストレシーバーを含みません。ただし、アプリケーションを一度起動すると、そのようなマーキングは削除され、準備が整います:)

Intent.FLAG_INCLUDE_STOPPED_PACKAGES別の方法として、停止しているパッケージも含めるために、ブロードキャストインテントにフラグを設定してみてください。

例えば:

intent.setFlags(Intent.FLAG_INCLUDE_STOPPED_PACKAGES);
于 2012-08-29T14:47:49.500 に答える