Android 列出已安装的二维码应用程序

Android 列出已安装的二维码应用程序,android,zxing,barcode-scanner,Android,Zxing,Barcode Scanner,我想建立一个应用程序,需要扫描二维码。为此,我在我的项目中集成了zxing资源,它在95%的时间内工作良好 另外5%(由于某些未知原因无法工作)我想检查用户是否有扫描仪应用程序,如果有,通过意向使用它 问题是: 我如何列出所有扫描仪应用程序(类似于用户单击共享并显示几个应用程序,如Gmail、Youtube、SMS等) 如果第一个问题不可能,我可以在商店里查找最流行的应用程序,然后逐个检查是否安装了该应用程序。这种方法有什么退路?你有什么建议吗 这根本不能回答问题。上面的代码将查找注册用于处理

我想建立一个应用程序,需要扫描二维码。为此,我在我的项目中集成了zxing资源,它在95%的时间内工作良好

另外5%(由于某些未知原因无法工作)我想检查用户是否有扫描仪应用程序,如果有,通过意向使用它

问题是:

  • 我如何列出所有扫描仪应用程序(类似于用户单击共享并显示几个应用程序,如Gmail、Youtube、SMS等)
  • 如果第一个问题不可能,我可以在商店里查找最流行的应用程序,然后逐个检查是否安装了该应用程序。这种方法有什么退路?你有什么建议吗

这根本不能回答问题。上面的代码将查找注册用于处理zxing广播意图的任何应用程序。你不能只寻找任何二维码阅读应用程序,除非它们有共同的广播意图
    Intent intent = new Intent(Intent.ACTION_SEND);
        intent.setType("com.google.zxing.client.android.SCAN");
        intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET);
        intent.putExtra("SCAN_MODE", "QR_CODE_MODE");

        String title = (String) getResources().getText(R.string.chooser_title);

        Intent chooser = Intent.createChooser(intent, title);

        startActivityForResult(chooser, CUSTOM_REQUEST_QR_SCANNER);