Android Intent to Google Goggles 总是导致 RESULT_CANCELLED。如何为我的 Activity 恢复合法结果?

标签 android android-intent android-activity google-goggles

所以,我一直在尝试使用 Google Goggles Intent,这样我就可以将扫描仪用作 OCR 设备。我在 Activity 中使用了以下代码:

Intent intent = new Intent("com.google.zxing.client.android.SCAN");
        //intent.setPackage("com.google.zxing.client.android");
        intent.putExtra("SCAN_MODE", "QR_CODE_MODE");
        Log.d("TAG", "start goggles!");
        startActivityForResult(intent, 0);    

至于我的 onActivityResult,它看起来像这样:

public void onActivityResult(int requestCode, int resultCode, Intent intent) {

        super.onActivityResult(requestCode, resultCode, intent);
        if (requestCode == 0) {
            if (resultCode == RESULT_OK) {
                String contents = intent.getStringExtra("SCAN_RESULT");
                String format = intent.getStringExtra("SCAN_RESULT_FORMAT");
                Log.d("TAG", "result back!"+contents);
                Toast.makeText(getBaseContext(), contents, Toast.LENGTH_LONG).show();

            } else if (resultCode == RESULT_CANCELED) {
                Toast.makeText(getBaseContext(), "CANCELLED", Toast.LENGTH_LONG).show();
                // TODO: Handle cancel
            }
        }
    }

上面的代码成功启动了另一个应用程序,但未能返回结果并且总是以 RESULT_CANCELLED resultCode 结束。 (我正在使用后退按钮返回到我的应用程序,我在这里做错了什么吗?)

如有任何帮助,我们将不胜感激。 谢谢!

最佳答案

好吧,如果您使用后退按钮返回您的应用程序,resultCode 当然会是 RESULT_CANCELED,因为您确实取消了 Goggles 请求。如果您在 Google 中扫描有效的二维码,它会自动关闭并返回到您的 Activity 并显示 RESULT_OK

请注意,如果您是第一次启动 Goggles,它会显示一个教程并要求进行一些初始设置。出现时,扫描二维码后不会返回到您的应用。

关于Android Intent to Google Goggles 总是导致 RESULT_CANCELLED。如何为我的 Activity 恢复合法结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24589609/

相关文章:

android - 如何保持android :groupIndicator in ExpandableListView?的纵横比

android - 在 DialogPreference 中实现固定高度的可滚动 ListView

java - Android 应用程序作为 Kiosk 工作

java - 如何从另一个 Activity 打开或启动 fragment ?

java - RuntimeExceptionjava.lang.RuntimeException : Unable to instantiate activity ComponentInfo

Android ActivityManager killBackgroundProcess 不工作

android - 自定义 FragmentTabHost 的实现

android - Android 7.0 N 中滑动 TabLayout 栏上的额外空白区域?

android - 无法在新线程中启动 Activity

android - 在整个应用程序中只保留每个 Activity 的一个实例