由于 beyond 我的应用程序的控制,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服务是否正在运行?

最佳答案

您可以使用以下方法检查服务是否正在运行。

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;
    }

关于android - 如何检查 TtsService(或 Android 服务)是否已停止?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5857640/

10-09 07:33