2

我创建了一个应用程序,该应用程序向用户展示了一个带有两个选项的对话框片段:YesNo.

如果用户选择“是”,应用程序将调用安装在设备上的 Zxing barscan 应用程序,并返回结果。

现在,我有这个工作的概念证明。然而,这个概念证明使用了一个简单的 Activity。因此,我可以使用活动而不是对话框片段来实现此 Barscan 结果。

概念证明中使用的代码如下:

    public void onActivityResult(int requestCode, int resultCode, Intent intent) {
    //retrieve scan result
    IntentResult scanningResult = IntentIntegrator.parseActivityResult(requestCode, resultCode, intent);

    if (scanningResult != null) {
        String scanContent = scanningResult.getContents();      
        String scanFormat = scanningResult.getFormatName();
        formatTxt.setText("FORMAT: " + scanFormat);
        contentTxt.setText("CONTENT: " + scanContent);
        }
    else{
        Toast toast = Toast.makeText(getApplicationContext(), 
            "No scan data received!", Toast.LENGTH_SHORT);
        toast.show();
    }   
}

此代码不适用于对话框片段。我一直在寻找并遇到了这个问题。

但是它不会集成,因为我无法访问所需的 requestCode、resultCode 或意图,并且对如何这样做感到非常困惑。

4

1 回答 1

4

您的片段应该通过startActivityForResult不启动活动getActivity().startActivityForResult

在您的onActivityResult通话活动super.onActivityResult和您的片段中,onActivityResult您可以将您发布的代码放在此处。

更多信息为什么:

于 2014-07-11T13:53:24.977 回答