私はJavaを使ってAndroid用の目覚まし時計アプリケーションを作成したいと思います。そして、(現在の時刻)が正確に同じ日の「設定時刻」よりも遅い場合にonReceive関数が実行されることに気付きました。AlarmManager.setWindowとAlarmManager.setのバグ?
私が設定機能で抱えている問題は、アラームを午前8時に設定すると(非常に翌日)、夜間にアラームを設定すると11時にonReceive機能が実行されるためです夜11時には、同じ日の午前8時より遅いので、アラームを設定する前に午前12時まで待たなければなりません。希望の結果が得られ、何をすべきかを調査し、 setWindow関数をset関数の代わりに使用します。
私は既にsetWindow関数を試しましたが、(set関数を使用しているかのように)同じ問題がまだ発生しています。私は、現在の時刻が設定された時間後に1分未満である場合にのみ、onReceive関数を実行したいと思います。また、(私はstackoverflowに慣れているので)サンプルコードとログをどのように送っていますか?私は4つのスペースをインデントし、送信しようとしても同じエラーが表示されます。ありがとうございました。
「アラームを設定する前に午前12時まで待ってから、結果を得ることができます」、またはアラーム時刻に1日追加することができます。 [この回答](https://stackoverflow.com/a/35945869/115145)、第3段落を参照してください。 "送信しようとしたときに同じエラーが発生しています" - エラーは何ですか? – CommonsWare
ありがとうございましたが、同じ日に私を目覚めさせて、自動的に天候を判断していないかどうかはどうですか? –
あなたは過去の時代に "同じ日に私を起こす"ことはできません。今日の時刻が過去の 'Calendar'になったら、' add() 'を実行します。今日の時刻が将来の予定の「カレンダー」になったら、その「カレンダー」だけを使用してください。 – CommonsWare