2016-11-09 1 views
0

setExact Methode nicht auf meinem Projekt arbeitetAlarmManeger setExact funktioniert nicht

Log.d("Alarm","Fire"); 

, die in AlarmManagerBroadcastReceiver ist nicht nach 1 Minute zeigt sich!

public class MainActivity extends AppCompatActivity { 
    . 
    . 
    @Override 
     protected void onCreate(Bundle savedInstanceState) { 
      . 
      . 

      Calendar alarm = Calendar.getInstance(); 
      alarm.setTimeInMillis(System.currentTimeMillis()); 
      alarm.add(Calendar.MINUTE,1); 

      Intent myIntent = new Intent(MainActivity.this, AlarmManagerBroadcastReceiver.class); 
      PendingIntent pendingIntent = PendingIntent.getBroadcast(MainActivity.this, 0, myIntent, 0); 

      AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE); 
      alarmManager.setExact(AlarmManager.RTC_WAKEUP, alarm.getTimeInMillis(), pendingIntent); 
      . 
      . 
} 
} 

AlarmManagerBroadcastReceiver:

public class AlarmManagerBroadcastReceiver extends WakefulBroadcastReceiver { 

    @Override 
    public void onReceive(Context context, Intent intent) { 

     Log.d("Alarm","Fire"); 

     } 
} 

Ich habe versucht, BroadcastReceiver statt WakefulBroadcastReceiver zu verlängern. Ich habe auch versucht, hartcodierte Zeiten diffrenet einzustellen. Nichts funktioniert jedoch.

Bitte helfen

+0

Sie haben Hoffnung, fügen Sie den Empfänger nicht verpasst erklärt und das Hinzufügen der Wake Lock Erlaubnis in Manifest-Datei. –

+0

@RickSanchez Vielen Dank. Problem gelöst. Ich kann nicht glauben, dass ich diesen dummen Fehler gemacht habe. Vielen Dank Rick – Adam

Antwort

0

Diese link (Scheduling Wiederholung Alarme) hilft Ihnen. Sie müssen

<uses-permission android:name="android.permission.WAKE_LOCK"></uses-permission> <receiver android:process=":remote" android:name=".AlarmManagerBroadcastReceiver"></receiver>

+0

Vielen Dank, das hat das Problem gelöst – Adam

Verwandte Themen