2010-06-21 1 views
4

Я искал этот сайт и нашел несколько ответов, связанных с настройкой тревоги. Мне удалось настроить будильник.Как настроить будильник, который отключится, даже если я перезапущу свой Android-телефон?

Что я делаю:

  • От деятельности я поставил тревогу, что в определенное время и дата вызова приемник
  • Из приемника я вызов службы
  • от службы шлю уведомление (на панели уведомлений) пользователю.

Мои вопросы:

  1. настроить сигнализацию 5 минут с этого момента. Скажем, я выключил телефон и включил его (кажется, он забыл будильник). Как я могу предотвратить это?

  2. Нужно ли мне звонить услуге для отправки уведомлений или я могу сделать это из получателя?

Ниже приведен код ссылки на предыдущем разделе (а):

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(); 
} 
+1

Документы для справки: http://developer.android.com/reference/android/app/AlarmManager.html –

ответ

2

Вам не нужно вызывать службу для отправки уведомлений, вы можете сделать это из получателя.

Я не думаю, что есть способ сохранить будильник после отключения питания. Что я буду делать:

  • Start a service at boot.
  • Проверьте, не требуется ли аварийное оповещение.

Обратите внимание, что вам где-то нужно будет сохранить информацию о тревоге. Проверьте Android Data-storage.

+0

Oh wao !!! Большое спасибо за ваш ответ ... Я попробую дать вам знать, как это происходит ... Что касается сохраненной информации о тревоге, я получил ее в таблице (потому что на элемент будет сигнал тревоги). Но я думаю, мне понадобится служба, чтобы перейти к информации о тревоге и проверить, нужно ли ей уходить. Cheers :-) – monn3t

+0

Работал красиво и именно то, что я хотел сделать в первую очередь. Muchas Gracias, funcionó a la perfección. – monn3t

+0

Йо! Можете ли вы опубликовать отредактированную версию своего кода? – ReachmeDroid