私はAndroid AlarmManagerで作業していますが、自分のコードに1つの問題が見つかりました。アラームマネージャーは別の時間にも呼び出されますが、原因はわかりません。私は午前7時10分にアラームを発しましたが、午後3時10分、午後4時30分などAndroidアラームマネージャは別の時間に呼び出されますか?
MyCode:だから
public void setAlarm(){
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(System.currentTimeMillis());
calendar.set(Calendar.YEAR, calendar.get(Calendar.YEAR));
calendar.set(Calendar.MONTH, calendar.get(Calendar.MONTH));
calendar.set(Calendar.DAY_OF_MONTH, calendar.get(Calendar.DAY_OF_MONTH) + 1);
calendar.set(Calendar.HOUR_OF_DAY, 7);
calendar.set(Calendar.MINUTE, 10);
calendar.set(Calendar.AM_PM,Calendar.AM);
Intent intent = new Intent(appContext, MyAlarmManager.class);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
PendingIntent pendingIntent = PendingIntent.getBroadcast(appContext, 0, intent, 0);
AlarmManager alarmManager = (AlarmManager) appContext.getSystemService(Context.ALARM_SERVICE);
alarmManager.setInexactRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), AlarmManager.INTERVAL_DAY, pendingIntent);
}
MyAlarmManager.java
public class MyAlarmManagerextends BroadcastReceiver {
@Override
public void onReceive(final Context context, Intent intent) {
setAlarm();
} }
、これは上記のコードで、私はコードで間違っているものを知っていると私にいくつかを提案してください溶液。
サービスまたはアクティビティの初期設定は初期化されていますか? –
いいえ、シングルトンクラスにあります – animation123