1
я пишу код в моем MainActivity для повторения сигнала и всякий раз, когда я начинаю свой сигнал тревоги приложение повторил everytime.But я хочу это повторить через каждые 24 часовПовторение тревоги После каждого дня
MainActivity.java
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_home);
sessionManager = new SessionManager(this);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
toolbar.setBackgroundColor(getResources().getColor(R.color.black));
setSupportActionBar(toolbar);
repeatAlarm();
}
private void repeatAlarm() {
Date when = new Date(System.currentTimeMillis());
try {
Intent someIntent = new Intent(getApplicationContext(), MyReciever.class); // intent to be launched
// note this could be getActivity if you want to launch an activity
PendingIntent pendingIntent = PendingIntent.getBroadcast(getApplicationContext(), 0, // id, optional
someIntent, // intent to launch
PendingIntent.FLAG_CANCEL_CURRENT); // PendintIntent flag
AlarmManager alarms = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
alarms.setRepeating(AlarmManager.RTC_WAKEUP, when.getTime(), AlarmManager.INTERVAL_DAY, pendingIntent);
} catch (Exception e) {
e.printStackTrace();
}
}
Это работает, когда вы написали свой код. Вы должны проверить, настроен ли будильник, а затем не устанавливать будильник снова. И я вижу, что интервал времени задан Часом, а не Днем. –
Кроме того, вам также необходимо рассмотреть возможность настройки будильника после повторной загрузки. Кроме того, ограничения доз https://developer.android.com/training/monitoring-device-state/doze-standby.html – Raghunandan