我写了一个应用程序,它将在很长一段时间内运行,可能永远不会结束,直到用户停止它。
但我担心,当移动/平板电脑屏幕处于睡眠状态时,应用程序将被暂停,或者用户切换到另一个应用程序,以便我的应用程序长时间运行的任务被暂停。
我该如何预防?
答案 0 :(得分:0)
您想要的是实施Service。
你会问这个行为。
答案 1 :(得分:0)
如果您希望应用程序在后台运行,则可以在此处启动Service
。这就是Android中的服务用于 - 在后台运行并进行长时间操作。
您可以使用START_STICKY
让您的服务持续运行。
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
handleCommand(intent);
// We want this service to continue running until it is explicitly
// stopped, so return sticky.
return START_STICKY;
}
并看到这一点:http://developer.android.com/reference/android/app/Service.html#ProcessLifecycle
这是后台服务的一个例子:
http://marakana.com/forums/android/examples/60.html
答案 2 :(得分:0)
您应该使用Service
并在START_STICKY
上返回onStartCommand()
,以便系统不会终止您的应用。即使终止,服务也会自动重启。