paar Monate zurück .. hatte ich auf diese recherchiert und ich habe diese
-Alarm-Manager mehr Batterie speichern als die Verwendung von Handler + WakeLock gefunden. Aber es ist eine Frage der Zeitperiode ..
Umsetzung:
UpdateCountInSecond.java
public class UpdateCountInSecond extends Service {
int count=0
@Override
public IBinder onBind(Intent intent) {
// TODO: Return the communication channel to the service.
throw new UnsupportedOperationException("Not yet implemented");
}
@Override
public void onCreate() {
// TODO Auto-generated method stub
super.onCreate();
}
@Override
public void onDestroy() {
// TODO Auto-generated method stub
super.onDestroy();
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
// TODO Auto-generated method stub
//your work
count++;
return super.onStartCommand(intent, flags, startId);
}
}
einen Methodennamen machen: startServiceAlaramManager() und nennen es aus Ihre Hauptaktivität oder wahrscheinlich Ihr Begrüßungsbildschirm
public void startServiceAlaramManager(){
// Start service using AlarmManager
Calendar cal = Calendar.getInstance();
cal.add(Calendar.SECOND, 10);
Intent intent = new Intent(this, UpdateCountInSecond .class);
PendingIntent pintent = PendingIntent.getService(this, 0, intent, 0);
AlarmManager alarm = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
//1 sec =1000 miliseconds
alarm.setRepeating(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(),
1000, pintent);
Toast.makeText(MainActivity.this, "alaram manager set", Toast.LENGTH_SHORT).show();
startService(new Intent(this, UpdateCountInSecond .class));
}