取消绑定和app kill时,Android启动并绑定服务不持久

时间:2016-07-19 09:30:17

标签: android service

启动和绑定服务有两个问题。

我有一个启动绑定服务,可以将gps位置更新为api。该服务由活动中的按钮启动和停止。

我有一个地图活动来显示来自gps的当前位置更新。 map活动通过bindService()绑定到服务。我正在使用messenger从服务中接收数据。

该服务正常工作,直到活动打开时绑定到地图活动。当服务被销毁并且服务应该继续存在时,该活动应该从服务解除绑定。

问题是服务在销毁时会随着活动而被杀死,有时则不会(我不知道为什么)。我在活动的ondestroy()中实现了unbindService()。

第二部分是即使从任务管理器中删除应用程序,服务也应该继续存在。 我已将它作为前台服务启动,但它不起作用。 我尝试在远程进程中实现该服务并且它可以工作,但是我用来检查服务是否正在运行的代码返回null(我也需要这个部分)。 我尝试在onTaskRemoved()中重新启动它作为前台服务,它不起作用。

如果有关于启动和绑定服务的任何体面的教程,我也会这样做。

private boolean isMyServiceRunning(Class<?> serviceClass) {
ActivityManager manager = (ActivityManager)      getSystemService(Context.ACTIVITY_SERVICE);
for (RunningServiceInfo service : manager.getRunningServices(Integer.MAX_VALUE)) {
    if (serviceClass.getName().equals(service.service.getClassName())) {
        return true;
    }
}
return false;

}

0 个答案:

没有答案