此问题已被多次问到,仅提供建议。我会满怀希望地理解每一个建议。
依赖在 list 中定义
<meta-data
android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version"/>
<meta-data
android:name="com.google.android.gms.vision.DEPENDENCIES"
android:value="ocr" />
并添加到应用级别
compile 'com.google.android.gms:play-services-vision:9.8.0'
测试设备具有足够的存储空间,大于内部空间的 10%,并且具有非常好的互联网连接。权限也明确定义
我们启动 TextRecognizer 来检测文本,我们得到空响应:
TextRecognizer textRecognizer = new TextRecognizer.Builder(getContext()).build();
if (!textRecognizer.isOperational()) {
Log.w("Main Activity", "Dependencies are not yet available");
Toast.makeText(getContext(), "Cannot Detect", Toast.LENGTH_LONG).show();
if(((MainActivity) getActivity()).hasLowStorage()) {
Toast.makeText(getContext(), "Low Storage", Toast.LENGTH_LONG).show();
Log.w("Custom_Storage", "Low Storage");
}
}
大多数建议是使用较低的依赖性 compile 'com.google.android.gms:play-services:7.8+'
但它并不适用于所有人。应用发布后,部分用户无法使用应用。
这些建议并没有解决问题。
类似问题: TextRecognizer isOperational API always returns false和 detector.isOperational() always false on android
最佳答案
TextRecognizer
API 需要下载一些依赖文件。通常它在安装时完成,但有时需要更长的时间。应用程序将自动下载这些文件。等待一些时间下载这些文件。在下载完成之前,TextRecognizer.isOperational
将返回 false
。 doanlowd 完成后 TextRecognizer.isOperational
将返回 true
。
关于java - TextRecognizer.isOperational() API 始终返回 false,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46410777/