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

由于
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;
    }
点赞