我想使用一个在后台无限期运行的服务,每10分钟调用一次方法,它的运行甚至会杀死应用程序
如何创建?
发布于 2015-01-21 16:45:05
您可以按如下方式使用服务来完成此操作
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
Handler handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
//performe the deskred task
}
}, 10minutes time in milisecods);
// If we get killed, after returning from here, restart
return START_STICKY;
}即使应用程序被终止,此服务也会自动启动,并会延迟运行
发布于 2015-01-21 16:19:58
有关如何使用服务的信息,请参阅
Services - Android
Services in Android - Vogella
这里有一个清晰的解决方案,它使用AlarmManager:https://stackoverflow.com/a/10222390/2591556专注于“每10分钟”部分
发布于 2015-01-21 16:27:47
假设您有一个正在运行的服务
每10分钟运行一次服务的用户AlarmManager
AlarmManager am=(AlarmManager)context.getSystemService(Context.ALARM_SERVICE);
Intent i = new Intent(context, YourService.class);
PendingIntent pi = PendingIntent.getBroadcast(context, 0, i, 0);
am.setRepeating(AlarmManager.RTC_WAKEUP, System.currentTimeMillis(), 600000, pi); // Millisec * Second * Minute
}https://stackoverflow.com/questions/28062440
复制相似问题