Zxing,在Fragment中调用并获得Result

时间:2017-07-14 12:16:32

标签: android fragment zxing

我有以下问题:我试图从片段启动扫描仪。但实际上不可能通过此片段中的onActivityResult捕获结果。

    @Override
public void onClick(View v){


    IntentIntegrator integrator = new IntentIntegrator(getActivity());

    integrator.setDesiredBarcodeFormats(IntentIntegrator.QR_CODE_TYPES);
    integrator.setCaptureActivity(HorizontalActivity.class);
    integrator.setOrientationLocked(false);
    integrator.initiateScan();


}

我也尝试了示例中的代码

IntentIntegrator.forFragment(getActivity())

但我的问题是我使用的是.v4.App.FragmentActivity,而Konstruktor只适用于App.Fragment。

也许你能帮帮我吗?

2 个答案:

答案 0 :(得分:1)

在片段中尝试这个....

IntentIntegrator.forFragment(this).initiateScan();
    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        IntentResult result = IntentIntegrator.parseActivityResult(requestCode, resultCode, data);
        if(result != null) {
            if(result.getContents() == null) {
               //Cancelled
            } else {
               //"Scanned Result=" + result.getContents()
            }
        } else {
            super.onActivityResult(requestCode, resultCode, data);
        }

    }

答案 1 :(得分:0)

这是我的解决方案,可以从活动或片段调用它。

ng-repeat="x in data | orderBy : colourOrder"