以前に回答があった場合は申し訳ありませんが、どこを見ても適切な解決策が得られませんでした
AlarmManager を使用して、毎日午前 9 時に自動的に通知を送信していますが、エミュレータで実行しようとすると、毎日午前 9 時に 1 回だけではなく、30 分ごと (正確には 31 ~ 32 分) にすぐに実行されます。
理由はありますか?助けていただければ幸いです。
コードは次のとおりです。
public class Home extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_bsheet);
notificationAlert(savedInstanceState);
}
private void notificationAlert(Bundle savedInstanceState) {
AlarmManager manager;
PendingIntent pendingIntent;
Intent intent=new Intent(Home.this, Notify.class);
manager=(AlarmManager)getSystemService(ALARM_SERVICE);
pendingIntent=PendingIntent.getService(Home.this,
0, intent, 0);
GregorianCalendar gcal = new GregorianCalendar();
gcal.set(Calendar.HOUR_OF_DAY, 9);
gcal.set(Calendar.MINUTE, 0);
gcal.set(Calendar.SECOND, 0);
gcal.set(Calendar.MILLISECOND, 0);
long initTime = gcal.getTimeInMillis();
manager.setRepeating(AlarmManager.RTC_WAKEUP, initTime,
24*60*60*1000, pendingIntent);
}
}
乾杯、
編集:私の意図は、アプリがインストールされると、午前 9 時にこのアラームを起動することです。私は onCreate にアラームを入れたので、アプリを起動するたびにアラームが作成されているだけで、アプリを非表示にすると何か奇妙なことが起こっているのかどうかはわかりません...再び洞察をいただければ幸いです!