impostare l'allarme android a un tempo specifico

ho impostato l'allarme a tempo specifico, ma each volta che apro l'applicazione che accenderà questo è il codice che ho usato:

AlarmManager alarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE); Intent intent = new Intent(this, AlarmReceiver.class); PendingIntent pendingIntent = PendingIntent.getBroadcast(this,0010000,intent,0); Calendar time = Calendar.getInstance(); time.set(Calendar.HOUR, 5); time.set(Calendar.MINUTE, 59); time.set(Calendar.SECOND, 0); alarmManager.set(AlarmManager.RTC,time.getTimeInMillis(),pendingIntent); 

  • Notifica di chiamata da BroadcastReceiver
  • Come gestire la notifica di allarme in Android?
  • handler.postDelayed vs AlarmManager vs
  • Android EditText in AlertDialog sembra troppo ampia
  • Android Allarme funzionante, ma in ritardo
  • Android risparmia Bitmap sulla scheda SD
  • L'azione Android AlarmClock ACTION_SET_ALARM produce eccezioni
  • Come impostare l'allarme utilizzando la class di allarme
  • Invia una notifica una volta alla settimana
  • AlarmManager con fonegap
  • AlarmManager smette di funzionare in Android 4.4.2 (utilizzando SetExact ())
  • Come far funzionare Alarm Manager quando Android 6.0 in modalità Doze?
  • 2 Solutions collect form web for “impostare l'allarme android a un tempo specifico”

    Va bene, devi impostare l'allarme suonare la prossima volta che è 5:59:00. Lo fai per get l'ora corrente, se è prima delle 5:59:00, impostare l'allarme, se dopo le ore 5:59:00 aggiungere un giorno e impostare l'allarme. Fai così:

     import java.util.Calendar; import java.util.Date; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(new Panel(this)); Date dat = new Date();//initializes to now Calendar cal_alarm = Calendar.getInstance(); Calendar cal_now = Calendar.getInstance(); cal_now.setTime(dat); cal_alarm.setTime(dat); cal_alarm.set(Calendar.HOUR_OF_DAY,5);//set the alarm time cal_alarm.set(Calendar.MINUTE, 59); cal_alarm.set(Calendar.SECOND,0); if(cal_alarm.before(cal_now)){//if its in the past increment cal_alarm.add(Calendar.DATE,1); } //SET YOUR AlarmManager here } 

    Volevo darti un esempio costruibile, ma non capisco perfettamente l'allarme, ma questo è quello che hai. Costruito su eclipse 3.5.2 con ADK 15

    Invece di inserire questo codice nella function onCreate, posizionarlo all'interno di qualsiasi evento button o qualsiasi altro evento che verrà chiamato solo per l'interazione con l'utente. Penso che lo farò.

     PendingIntent pendingIntent = PendingIntent.getBroadcast(this,0010000,intent,0); pendingIntent.cancel(); 

    aggiungi questo metodo "annulla" al tuo codice. questo annulla l'allarme precedente prima di impostare il nuovo.

    L'Android è un fan Android di Google, tutto su telefoni Android, Android Wear, Android Dev e applicazioni Android Games e così via.