Android后台服务可以在睡眠中重现并重新连接UI

时间:2014-08-23 03:43:35

标签: java android

我想创建一个与UI交互的Android服务。它将通过TCP连接到IP。当移动设备处于睡眠模式时,它仍然应该接收数据包并唤醒设备并相应地更新Activity的UI。 问题是,UI和服务都应该在按下按钮(甚至是处理杀手)后继续存在。据我所知,服务幸存下来,我怎样才能设法重新绑定(而不是重新创建服务和绑定)到现有服务(如果存在)?

1 个答案:

答案 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 是服务的名称。