Hier noch aufgerufen ist der Code, den ich verwenden, um einen Alarm für meinen Widget zu setzen:PendingIntent Linien- AlarmManager.RTC Typ wird im Schlafmodus
private static void setAlarm(Context context) {
Intent myIntent = new Intent(context, Widget.class);
myIntent.setAction(AUTO_UPDATE);
PendingIntent pendingIntent =
PendingIntent.getBroadcast(context, 0, myIntent, PendingIntent.FLAG_UPDATE_CURRENT);
AlarmManager alarmManager = (AlarmManager) context.getSystemService(Service.ALARM_SERVICE);
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(System.currentTimeMillis());
calendar.add(Calendar.SECOND, 8);
alarmManager.setInexactRepeating(AlarmManager.RTC, calendar.getTimeInMillis(), 8000,
pendingIntent);
}
aber das Problem ist, dass selbst in dem Schlafmodus, onReceive()
wird immer noch von der Absicht ausgelöst.
Obwohl nach der Verwendung setInexactRepeating
anstelle von setRepeating
, die Verzögerungen zwischen Anrufen bis zu 1 Minute im Schlafmodus erhöht werden, aber das ist immer noch Batterie verbrauchen.
Was ist Ihre Frage? – HitOdessit
'AlarmManager.RTC' sollte das Gerät nicht im Schlafmodus aufrufen! Was muss ich tun, um den Aufruf zu vermeiden? – SAbbasizadeh
Was ist Android OS-Versionen und Geräte/Emulatoren testen Sie Ihren Code? – HitOdessit