Я искал этот сайт и нашел несколько ответов, связанных с настройкой тревоги. Мне удалось настроить будильник.Как настроить будильник, который отключится, даже если я перезапущу свой Android-телефон?
Что я делаю:
- От деятельности я поставил тревогу, что в определенное время и дата вызова приемник
- Из приемника я вызов службы
- от службы шлю уведомление (на панели уведомлений) пользователю.
Мои вопросы:
настроить сигнализацию 5 минут с этого момента. Скажем, я выключил телефон и включил его (кажется, он забыл будильник). Как я могу предотвратить это?
Нужно ли мне звонить услуге для отправки уведомлений или я могу сделать это из получателя?
Ниже приведен код ссылки на предыдущем разделе (а):
Intent intent = new Intent(MyActivity.this,
AlarmReceiver.class);
intent.putExtra("alarm_message", "Something");
PendingIntent mAlarmSender;
mAlarmSender = PendingIntent.getBroadcast(
MyActivity.this, 0, intent, 0);
// We want the alarm to go off 30 seconds from now.
long alarmTime = dateMgmt.getTimeForAlarm(pickedDate);
// Schedule the alarm!
AlarmManager am = (AlarmManager) getSystemService(ALARM_SERVICE);
am.set(AlarmManager.RTC_WAKEUP, alarmTime + 15000,
mAlarmSender);
Это код ссылки на предыдущем разделе (б):
@Override
public void onReceive(Context context, Intent intent) {
try {
Bundle bundle = intent.getExtras();
String message = bundle.getString("alarm_message");
Intent newIntent = new Intent(context, MyService.class);
context.startService(newIntent);
} catch (Exception e) {
Toast
.makeText(
context,
"There was an error somewhere, but we still received an alarm",
Toast.LENGTH_SHORT).show();
e.printStackTrace();
}
Этот код ссылки в предыдущем разделе с):
@Override
public void onCreate() {
super.onCreate();
nm = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
showNotification();
}
Документы для справки: http://developer.android.com/reference/android/app/AlarmManager.html –