Android – wie man einen Alarm auf ein bestimmtes Datum einstellen kann

Ich habe eine Menge Tutorials gesehen und habe schon seit 2 Stunden versucht, obwohl etwas noch falsch ist. Ich bin jetzt sehr nervös 🙂 Ich möchte einen Alarm machen, zB um 16:25 zu gehen, aber nichts passiert. Ich habe diesen Code:

Calendar cur_cal = new GregorianCalendar(); cur_cal.setTimeInMillis(System.currentTimeMillis()); Calendar cal = new GregorianCalendar(); cal.add(Calendar.DAY_OF_YEAR, cur_cal.get(Calendar.DAY_OF_YEAR)); cal.set(Calendar.HOUR_OF_DAY, 16); cal.set(Calendar.MINUTE, 25); cal.set(Calendar.SECOND, 0); cal.set(Calendar.MILLISECOND, 0); alarmManager.set(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(), pendingIntent); 

Ich habe auch versucht:

  • Wie erkennt man, ob eine Benachrichtigung abgelehnt wurde?
  • Wie ändere ich das Thema für AlertDialog
  • Identifizieren und Abbrechen eines Alarms an einen AlarmManager senden
  • AlarmClock für Anfänger - Android
  • Wo finde ich die Zeitauswahl von der nativen Wecker-App von Android?
  • So wiederholen Sie die Benachrichtigung täglich zu bestimmten Zeit in android durch Hintergrunddienst
  •   cal.set(Calendar.AM_PM, cur_cal.get(Calendar.AM_PM)); cal.set(Calendar.HOUR, 4); 

    Mein letztes Ziel ist es, es zu einem Wiederholungsalarm zu machen, zB sollte es jeden Tag zur festgelegten Zeit gehen.

    Update 01.17.2011. Funktioniert immer noch nicht. Ich habe diesen Code:

      Calendar cal = Calendar.getInstance(); cal.set(Calendar.YEAR, 2011); cal.set(Calendar.MONTH, Calendar.JANUARY); cal.set(Calendar.DAY_OF_MONTH, 17); cal.set(Calendar.HOUR_OF_DAY, 16); cal.set(Calendar.MINUTE, 58); cal.set(Calendar.SECOND, 0); cal.set(Calendar.MILLISECOND, 0); 

    Ich habe auch versucht:

      cal.set(Calendar.HOUR, 4); cal.set(Calendar.AM_PM, Calendar.PM); 

    und das:

     cal.set(Calendar.HOUR_OF_DAY, 4 ); cal.set(Calendar.AM_PM, Calendar.PM); 

  • Wie konfiguriere ich SSL-Zertifikate mit Charles Web Proxy und dem neuesten Android Emulator unter Windows?
  • CSS / HTML - dp (Dichte unabhängige) Einheiten?
  • Android dreht Bilder um 90 Grad (aufgenommen von Kamera)
  • Größe der Datei, die wir durch AssetManager Funktion getAssets in Android bekommen
  • Android wird programmgesteuert erstellt
  • Warum wird getCount so oft in PagerAdapter aufgerufen?
  • 4 Solutions collect form web for “Android – wie man einen Alarm auf ein bestimmtes Datum einstellen kann”

     package your.pack.name; import java.util.Calendar; import android.app.Activity; import android.app.AlarmManager; import android.app.PendingIntent; import android.content.Context; import android.content.Intent; import android.os.Bundle; public class AlarmActivity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Calendar cal = Calendar.getInstance(); cal.setTimeInMillis(System.currentTimeMillis()); cal.clear(); cal.set(2012,2,8,18,16); AlarmManager alarmMgr = (AlarmManager)getSystemService(Context.ALARM_SERVICE); Intent intent = new Intent(this, AlarmReceiver.class); PendingIntent pendingIntent = PendingIntent.getBroadcast(this, 0, intent, 0); // cal.add(Calendar.SECOND, 5); alarmMgr.set(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(), pendingIntent); } } 

    Normalerweise solltest du keinen Calendar wie du es tust, da ist die Methode Calendar.getInstance() :

     Calendar cal = Calendar.getInstance(); 

    Das gibt Ihnen einen Kalender mit allen Feldern auf aktuelles Datum gesetzt, dann nur:

     cal.set(Calendar.HOUR_OF_DAY, 16); cal.set(Calendar.MINUTE, 25); cal.set(Calendar.SECOND, 0); cal.set(Calendar.MILLISECOND, 0); alarmManager.set(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(), pendingIntent); 

    Der folgende Code funktioniert perfekt für Alarm. Das Datum und die Uhrzeit, die ich hier erwähnt habe, ist: 2012- Juni-28, 11:20:00 Uhr. Und das Wichtigste ist, der Monat ist nur von 0 t0 11 angegeben. Mittel Juni sollte durch 5 angegeben werden.

      AlarmManager objAlarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE); Calendar objCalendar = Calendar.getInstance(); objCalendar.set(Calendar.YEAR, 2012); //objCalendar.set(Calendar.YEAR, objCalendar.get(Calendar.YEAR)); objCalendar.set(Calendar.MONTH, 5); objCalendar.set(Calendar.DAY_OF_MONTH, 28); objCalendar.set(Calendar.HOUR_OF_DAY, 11); objCalendar.set(Calendar.MINUTE, 20); objCalendar.set(Calendar.SECOND, 0); objCalendar.set(Calendar.MILLISECOND, 0); objCalendar.set(Calendar.AM_PM, Calendar.AM); Intent alamShowIntent = new Intent(this,AlarmActivity.class); PendingIntent alarmPendingIntent = PendingIntent.getActivity(this, 0,alamShowIntent,0 ); objAlarmManager.set(AlarmManager.RTC_WAKEUP,objCalendar.getTimeInMillis(), alarmPendingIntent); 

    Sie legen das Jahr nicht in Ihrem Calendar .

    Beachten Sie auch, dass der new GregorianCalendar() bereits den Wert auf das aktuelle Datum und die Uhrzeit setzt.

    Das Android ist ein Google Android Fan-Website, Alles über Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.