バッテリーの低下、機内モードの有効化、Wi-Fiの無効化など、システムによってブロードキャストされた複数のインテントに基づいてアラームを有効/無効にしたい。複数のブロードキャストインテントを使用して同じものを制御する
マニフェストに必要なインテントを登録し、BroadcastReceiver
とみなし、受け取ったインテントに基づいてアラームを設定します。
インテントの1つだけがブロードキャストされているときに、同時に登録されたインテントによって示されるすべての条件を考慮するにはどうすればよいですか?
例:「バッテリーOK」インテントがブロードキャストされます。この場合、通常は再びアラームを有効にしますが、飛行機モードがオンの場合は有効にしません。
私は、各条件の状態を共有された環境設定に更新することを考えていましたが、まったくクリーンなソリューションのようには思えませんでした。
いくつかのインテントは粘着性があり、いつでも取得できますが、BroadcastReceiver
にブロードキャストインテントを登録することはできないため、他のインテントの状態を取得できないようです送信されます。
提案がありますか?
事実、私は自分の質問を説明するのが難しいと感じました...私は複数のイベントに登録する方法を知っていますが、私の質問は、あなたの答えにしたがって、 'ACTION_SCREEN_OFF'は放送されていますか? –
あなたは放送受信機なしでいつでもバッテリーの状態を知ることができ、実際には以前の放送されたreading.Butを得るでしょう – Rasel
はい、それは私が "いくつかの意図は粘着性がある"という意味です。たぶん、私は 'PendingIntents'を使って後でオリジナルの放送インテントのデータを検索することができます。 –