如何检查TtsService(或Android服务)是否已停止?

4

由于某些原因,TtsService 被系统停止,仅在 LogCat 中提供 Log.i() 提示:

(参考链接)

05-01 12:01:55.662: INFO/TtsService(1791): Stopping
05-01 12:01:55.662: INFO/TtsService(1791): Stopped

我希望能够在我的应用程序中处理这种情况。

是否有一种方法(回调或系统调用)可以检测到这种情况?

如果没有,是否有一种方法可以检查TTS服务是否正在运行?

1个回答

2
您可以使用以下方法检查服务是否正在运行。
ServiceName = "package.service".\\service name
public static boolean isServiceRunning(Context ctx, String serviceName) 
    {
        ActivityManager manager = (ActivityManager) ctx.getSystemService(Context.ACTIVITY_SERVICE);
        for (RunningServiceInfo service : manager.getRunningServices(Integer.MAX_VALUE)) {
            if (serviceName.equalsIgnoreCase(service.service.getClassName())) {
                Log.v(TAG,serviceName+": Service running");
                return true;
            }
        }
        return false;
    }

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接