2017-01-30 8 views
1

Ich bin mehrere Alarme auf Wiederholung durch Alarm-Manager einstellen, sie funktionieren gut an dem Tag, als sie eingestellt wurden, aber überhaupt nicht wiederholen. Ich habe meinen Code aktualisiert, aber ich kann nicht den ganzen Tag warten, um zu überprüfen, ob der Code überhaupt funktioniert oder nicht, also habe ich versucht, Add Shell Dumpsys Alarmbefehl, aber ich weiß nicht, wie die Ausgabe richtig zu lesen und wie die Zeiten zu extrahieren der eingestellten Alarme Ich habe einige Links verfolgt, um die Ausgabe zu verstehen, aber keine gibt an, wie die genaue Zeit des Alarms zu überprüfen ist. hier ist mein Ausgang enter image description hereWie lese ich Adb Dumpsys Alarmausgang

mein Haupt-Code, wo ich den Alarm habe die Einrichtung

final int _id = (int) System.currentTimeMillis(); 

     AlarmManager alarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE); 

    // alarmManager.setRepeating(AlarmManager.RTC_WAKEUP,AllTime[i],AlarmManager.INTERVAL_DAY, 
     //  PendingIntent.getBroadcast(this, _id, alertIntent, PendingIntent.FLAG_UPDATE_CURRENT)); 
     alarmManager.setInexactRepeating(AlarmManager.RTC_WAKEUP,AllTime[i],AlarmManager.INTERVAL_DAY, 
       PendingIntent.getBroadcast(this, _id, alertIntent, PendingIntent.FLAG_UPDATE_CURRENT)); 

und das dies der Rundfunkempfänger

public void onReceive(Context context, Intent intent) { 


    String[] myStrings = intent.getStringArrayExtra("strings"); 
    Log.i("okk", "cathing intent values through break" + Arrays.toString(myStrings)); 


    createNotification(context, "Time is here baby", "this is the notification text", "Alert"); 
    Log.i("okk", "cathing intent values through break" + Arrays.toString(myStrings)); 


} 

public void createNotification(Context context, String msg, String msgText, String msgAlert) { 
    final int _id = (int) System.currentTimeMillis(); // unique request code 

    // will open mainActivity on notification click, can change it 
// PendingIntent notificationIntent = PendingIntent.getActivity(context, _id, new Intent(context, MainActivity.class), 0); // changed from 0 to _id 

    PendingIntent notificationIntent = PendingIntent.getActivity(context,0, new Intent(context,MainActivity.class),0); 
    NotificationCompat.Builder mbuilder = new NotificationCompat.Builder(context) 
      .setSmallIcon(R.drawable.cast_ic_notification_play) 
      .setContentTitle(msg) 
      .setTicker(msgAlert) 
      .setContentText(msgText); 

    // now intent we want to fire when noti is clicked 

    mbuilder.setContentIntent(notificationIntent); 

    // how person is notified 

    mbuilder.setDefaults(NotificationCompat.DEFAULT_SOUND); 

    mbuilder.setAutoCancel(true); // noti dismisble when user swipe it away 

    NotificationManager notificationManager = (NotificationManager) 
      context.getSystemService((Context.NOTIFICATION_SERVICE)); 

    // Log.i("okk", "NOTIFIED " + intent.getExtras()); 

    notificationManager.notify(1, mbuilder.build()); // changes from 1 to _id 
     } 
+0

Code schreiben zu wissen, wie Sie den Alarm – OBX

+0

@OBX setzen gerade getan. prüfen –

Antwort

0

vielleicht ist es Ihnen helfen kann, ich habe ein Opensource-Projekt mit einer GUI-Version des Befehls "adb shell dumpsys alarms" erstellt. Sie können es hier finden:

https://github.com/Dottorhouse/DumpsysAlarm

Hoffentlich wird es Ihnen helfen herauszufinden, was falsch ist

Verwandte Themen