TextRecognizer.isOperational()API始终返回false

时间:2017-09-25 17:20:40

标签: java android ocr text-recognition

这个问题已被分别提出,只提出了建议。我希望能够理解每一个建议。

依赖关系在清单

中定义
<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 falsedetector.isOperational() always false on android

2 个答案:

答案 0 :(得分:0)

TextRecognizer API需要下载少量依赖项文件。通常在安装时完成,但有时需要更长的时间。应用程序将自动下载这些文件。等一段时间下载这些文件。在下载完成之前,TextRecognizer.isOperational将返回false。 doanlowd完成后TextRecognizer.isOperational将返回true

答案 1 :(得分:0)

即使我有同样的问题。我刚刚创建了一个新项目,然后再次复制并安装了dll。现在可以了。