私は(実際にはアラームではなくメールを送信します)を設定するAlarmManager
を持っています。したがって、BroadcastReceiverでは実際のメールの送信を行います。しかし、メールを送るにはインターネットが必要です。したがって、電話機にインターネット接続がない場合、電子メールは送信されません。私のBroadcastReceiverでonReceive()の中にあるアクションはどうすれば"snooze"
ですか?私はこれで火災する新しいレシーバーを作るのですか?ブロードキャスト受信者のスケジュールを変更してください
private boolean isNetworkAvailable() {
ConnectivityManager cm
= (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo ai= cm.getActiveNetworkInfo();
return ai!= null;
}
EDIT: は、それが動作するようになりました。インターネットが使用可能な場合に10分ごとにチェックするIntentServiceを使用し、メールを送信する場合に使用します。 IntentServiceは私のBroadcastReceiverから開始されます。ここでは、インターネットがない場合、最初に電子メールが送信されます。
サンプルコードがありますか? – user713821
ありがとうございます。それは働いた。私は解決策を使って投稿を編集しました – user713821