我正在开发一个我使用API 19和功能隐藏式字幕的应用程序,但并非我的所有设备都安装了Kit kat,因此当我使用这个API时,我把它放在那里:
@TargetApi(19)
private Boolean getStateAndroidCC()
{
CaptioningManager captioningManager = (CaptioningManager) context.getSystemService(
Context.CAPTIONING_SERVICE);
return captioningManager.isEnabled();
}
但是当我运行应用程序并检查Logcat的控制台时,我看到了这一行:
* *找不到类'android.view.accessibility.CaptioningManager'
你能帮我解决一下吗?
因为我读过如果我使用这个标签@TargetApi(19),这个问题将得到解决,但是我无法修复它。
提前致谢。
答案 0 :(得分:3)
@TargetApi
注释用于抑制Lint API检查,因此您不会遇到编译错误。
这意味着:我知道我正在调用的API可能并非在所有设备上都可用和我正在正确处理它。
因此,在调用相关API之前,您必须检查是否正在运行Kitkat:
@TargetApi(19)
private Boolean getStateAndroidCC()
{
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
CaptioningManager captioningManager = (CaptioningManager) context.getSystemService(
Context.CAPTIONING_SERVICE);
return captioningManager.isEnabled();
}
return false;
}