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

时间:2011-05-02 13:18:30

标签: android android-service text-to-speech

出于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服务是否正在运行?

1 个答案:

答案 0 :(得分: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;
    }