我正在开发具有后台运行服务的 android 应用程序。
当我从“最近的应用程序列表”中换出应用程序时,它会导致应用程序关闭并停止服务。(以下方法具有相同的代码。)
@Override
public void onTaskRemoved(Intent rootIntent)
{
//code to be executed
//Stop service
super.onTaskRemoved(rootIntent);
}
服务启动代码在应用程序类(onCreate())中,如果应用程序恢复,它将永远不会执行。
正面情景
1)如果我在成功执行服务后重新启动应用程序,将创建新的应用程序实例并且服务也将启动。
负面情景
1)由于上述方法中有一些代码负责停止线程和服务,导致应用程序需要一些时间才能停止服务(从最近的应用程序交换后)。在此期间,如果我重新启动应用程序,应用程序将恢复而不是重新创建。现在,正在运行的服务将停止。
因此,在这种情况下,我有应用程序但没有后台服务。
我该如何处理这种情况?
1) 在服务的任务完成之前,不应重新启动应用程序。2)从启动器活动启动服务。
提前致谢。