我想创建一个与UI交互的Android服务。它将通过TCP连接到IP。当移动设备处于睡眠模式时,它仍然应该接收数据包并唤醒设备并相应地更新Activity的UI。 问题是,UI和服务都应该在按下按钮(甚至是处理杀手)后继续存在。据我所知,服务幸存下来,我怎样才能设法重新绑定(而不是重新创建服务和绑定)到现有服务(如果存在)?
答案 0 :(得分:0)
您可以检查服务是否已经运行,如果不是,您可以启动服务
private boolean isMyServiceRunning() {
ActivityManager manager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
for (RunningServiceInfo service : manager.getRunningServices(Integer.MAX_VALUE)) {
if (MyServiceName.class.getName().equals(service.service.getClassName())) {
return true;
}
}
return false;
}
上面的代码 MyServiceName.class 是服务的名称。