私は私のアプリでアラームを持っています。Android AlarmManagerコードが正しく動作しないのはなぜですか?
public class MainActivity extends AppCompatActivity {
@Override
public void onCreate(Bundle savedInstanceState){
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(System.curentTimeMillis());
calendar.set(Calendar.HOUR_OF_DAY, 11);
calendar.set(MINUTE, 11);
Intent intent = new Intent(this, AlarmReceiver.class);
PendingIntent pendingIntent = Pending.getBroadcast(this, 0, intent, 0);
AlarmManager alarmManager = (AlarmManager)getSystemService(ALARM_SERVICE);
alarmManager.setInexactRepeating(AlarmManager.RTC, calendar.getTimeInMillis(), AlarmManager.INTERVAL_DAY, pendingIntente);
}
}
これは私のAlarmReceiver.class
public class AlarmReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent){
SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss");
System.out.println("ALARM: " + sdf.format(new Date()));
}
}
であると私のAndroidManifest.xmlに私は問題がある。このライン
<receiver android:name=".main.AlarmReceiver" />
を持っています私が設定した時間にアラームが鳴らないこと。私はアラームを設定しました
calendar.set(Calendar.HOUR_OF_DAY, 11);
calendar.set(MINUTE, 5);
その後、アラームは11:11:29
に警告しました。それから私は、その後
calendar.set(Calendar.HOUR_OF_DAY, 11);
calendar.set(MINUTE, 20);
のアラーム11:26:29
で警戒警報を設定します。それから私は、その後
calendar.set(Calendar.HOUR_OF_DAY, 11);
calendar.set(MINUTE, 29);
のアラーム11:41:29
で警戒警報を設定します。
午前中はこのように続きました。しかし、私は適切な10秒で警報アラーム完璧次に、このライン
alarmManager.set(AlarmManager.ELAPSED_REALTIME_WAKEUP, (SystemClock.elapsedRealtime()+10000), pendingIntent);
で、このライン
alarmManager.setInexactRepeating(AlarmManager.RTC, calendar.getTimeInMillis(), AlarmManager.INTERVAL_DAY, pendingIntente);
を交換する場合。
何が起こっていますか?
私はドキュメントを読むことにそれを忘れていました。それを指摘してくれてありがとう。 – Brian