Android Studio Alarm Manager setRepeating

  • Hey ich bin es mal wieder ^^


    Ich habe eine Frage bezüglich Alarm Manager, und zwar möchte ich mittels Alarmmanager jeden tag zu einer fixen Uhrzeit ein Signal an des Broadcast Receiver Schicken. Das Signal an den Broadcast Receiver Funktioniert gut nur beim Start des Alarmmanager wird sofort ein Signal gesendet, das möchte ich aber nicht, ich möchte das er das erste Signal zb. um 16 Uhr schickt und dann 24 stunden wartet und das nächste sendet.


    ich benutze folgenden Code:


    seconds = timeInMinute * 60;
    android.app.AlarmManager alarmManager = (android.app.AlarmManager) context.getSystemService(ALARM_SERVICE);Intent broadcast_intent = new Intent(context, WifiReceiver.class);PendingIntent pendingIntent = PendingIntent.getBroadcast(context, 14, broadcast_intent, 0);Calendar now = Calendar.getInstance();
    alarmManager.setRepeating(android.app.AlarmManager.RTC_WAKEUP, now.getTimeInMillis() + (1000 * seconds), 1000 * 60 * 60 * 24, pendingIntent);Mit freundlichen Grüßen

  • Hallo


    Bei dem Ala Alarmmanager ist der erste wert die Zeit, wenn er das erste Mal gestartet werden soll.


    Die ist bei dir nur aktuelle zeit plus eine sec *60.




    alarmManager.setRepeating(android.app.AlarmManager.RTC_WAKEUP, now.getTimeInMillis() + (1000 * seconds), 1000 * 60 * 60 * 24, pendingIntent);




    berechne die Start zeit mal so



    Code
    Calendar now = Calendar.getInstance();
            int jahr  = now.get(Calendar.YEAR);
            int tag   = now.get(Calendar.MONTH)+1;
            int monat = now.get(Calendar.DAY_OF_MONTH);
            now.set(jahr, monat, tag, 16, 00);
            long startTime =  now.getTimeInMillis();
    
    
    alarmManager.setRepeating(android.app.AlarmManager.RTC_WAKEUP, startTime, 1000 * 60 * 60 * 24, pendingIntent);

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!