用户退出应用程序后保持后台服务活动

Nat*_*tiv 13 service android background-service android-service

我正在尝试创建一个服务,即使在用户从正在运行的进程菜单中关闭应用程序(通过将进程移出屏幕)之后,也会为我执行后台作业.

我尝试做的是通过声明它在不同的过程中创建服务:

  <service
        android:name=".service.Service"
        android:enabled="true"
        android:icon="@drawable/ic_launcher"
        android:process=":my_process" >
  </service>
Run Code Online (Sandbox Code Playgroud)

而onStartCommand()是:

    @Override
public int onStartCommand(Intent intent, int flags, int startId) {
    return START_STICKY;
}
Run Code Online (Sandbox Code Playgroud)

Nat*_*tiv 8

根据Android文档,您可以使用以下属性来实现此行为:

 android:isolatedProcess="true"
Run Code Online (Sandbox Code Playgroud)

顺便说一句,我知道它没有回答这个问题,但它也可能对某些人有所帮助 - 最近,我发现了Evernote开发人员创建的一个很棒的第三方库.它的名字是Android-Job,它的目的是创建在不同进程上运行的作业,即使在设备重启后也可以再次激活,这太棒了.