Android:使用textView在活动中显示服务状态

时间:2013-07-02 16:20:45

标签: android service android-activity bind

我想在我的活动中显示我的服务的当前状态。我已经看到该服务可以与不同操作的活动绑定,但我只想知道它是否已启动或停止。

我的主要活动开始并停止我的服务

startService(new Intent(MainActivity.this, MyService.class));
stopService(new Intent(MainActivity.this, MyService.class));

事实上,我的服务是“STICKY”,并在后台做一些事情。 我希望活动在文本视图中显示服务的状态(如“正在运行”或“未运行”,第二个合成者将是一个启动/停止服务的按钮。(带有根据状态更改的标签) (“开始服务”/“停止服务”)。

那么实施该技术的最佳技术解决方案是什么?

Thnks

2 个答案:

答案 0 :(得分:0)

答案 1 :(得分:0)

我找到了这个。

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

然后,这意味着我需要在活动恢复时刷新标签(服务是否运行)和按钮(启动/停止服务)。并且每X秒重现一次更新。我认为它可行。

我只是期待更多的东西"生活"和实践,但它做到了。