私はAndroidプログラミングが初めてなので、これらはおそらくばかげた質問です。私はいくつかの読書をしましたが、答えを得ることができません。
サービスから登録されたいくつかの意図を持つブロードキャストレシーバーがあります-
receiver = new EventHandler();
IntentFilter filter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED);
filter.addAction(Intent.ACTION_SCREEN_ON);
filter.addAction(Intent.ACTION_SCREEN_OFF);
filter.addAction(TelephonyManager.ACTION_PHONE_STATE_CHANGED); // for calls
registerReceiver(receiver, filter);
サービスを実行し続けるために入れた "setForeground" 呼び出しを削除したため (ステータス バー アイコンが必要ないため、そのアプローチを怠っているのではないかと考えています)、サービスは次のようになります。定期的に停止し、通常は短時間で再起動します (ただし、5 分かかることもあります)。
質問 - インテントをプログラムで登録したので、プロセスがたまたま停止状態になった場合、興味のあるインテントを送信することを Android はどのように知るのでしょうか。いくつかのイベントを欠場すると思います。
インテントをマニフェストに入れてみましたが、バッテリーが変更されたインテントにはその手法を使用できないことを読みました (そして観察しました)。
ありがとう。