Я искал этот сайт и нашел несколько ответов, связанных с настройкой тревоги. Мне удалось настроить будильник.
Что я делаю:
Мои вопросы:
Я установил будильник через 5 минут. Скажем, я выключил телефон и снова включил его (кажется, он забыл будильник). Как я могу предотвратить это?
Действительно ли мне нужно позвонить службе для отправки уведомлений или я могу сделать это из получателя?
Ниже приведен код, упомянутый в предыдущем разделе (a):
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);
Это код, указанный в предыдущем разделе (b):
@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(); }
Этот код, упомянутый в предыдущем разделе (c):
@Override public void onCreate() { super.onCreate(); nm = (NotificationManager) getSystemService(NOTIFICATION_SERVICE); showNotification(); }
Вам не нужно вызывать службу для отправки уведомлений, вы можете сделать это из получателя.
Я не думаю, что есть способ сохранить будильник после отключения питания. Что я буду делать:
Обратите внимание, что вам где-то нужно будет сохранить информацию о тревоге. Проверьте хранилище данных Android.