Android 服务定期在后台执行任务?
Android service periodically performing tasks in background?
我创建了一个 Android 服务,我只需在 activity
中启动它
Intent i = new Intent();
i.setClassName("com.abc.app", MyService.class.getName());
startService(i);
bindService(i, connection, Context.BIND_AUTO_CREATE);
然后我使用 onServiceConnected 回调来获取我的服务实例,这样我就可以调用它的函数
public void onServiceConnected(ComponentName name, IBinder boundService) {
myService = IMyInterface.Stub.asInterface((IBinder) boundService);
}
我可以成功调用函数并得到结果。但是我希望我的服务在后台定期执行任务(比如每隔几分钟调用一次的函数)我不能从我的 activity 调用函数,因为我在 finish() 我的 activity 之后启动服务,我希望我的服务在后台简单地 运行 并执行任务。
您需要添加一个 TimerTask,看看如何做 here
我创建了一个 Android 服务,我只需在 activity
中启动它Intent i = new Intent();
i.setClassName("com.abc.app", MyService.class.getName());
startService(i);
bindService(i, connection, Context.BIND_AUTO_CREATE);
然后我使用 onServiceConnected 回调来获取我的服务实例,这样我就可以调用它的函数
public void onServiceConnected(ComponentName name, IBinder boundService) {
myService = IMyInterface.Stub.asInterface((IBinder) boundService);
}
我可以成功调用函数并得到结果。但是我希望我的服务在后台定期执行任务(比如每隔几分钟调用一次的函数)我不能从我的 activity 调用函数,因为我在 finish() 我的 activity 之后启动服务,我希望我的服务在后台简单地 运行 并执行任务。
您需要添加一个 TimerTask,看看如何做 here