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