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