我创建了一个应用程序,为用户提供了一个包含两个选项的对话框片段:Yes
和No
。
如果用户选择“是”,应用程序将调用设备上安装的Zxing barscan应用程序,并返回结果。
现在,我有一个这个工作的概念证明。然而,这个概念证明使用了一个简单的Activity。因此,我可以使用活动来实现此Barscan结果,而不是使用Dialog Fragment。
概念证明中使用的代码如下:
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();
}
}
此代码不适用于对话框片段。我一直在寻找this问题。
然而它不会集成,因为我无法访问requestCode,resultCode或intent required,并且对于如何操作非常困惑。
答案 0 :(得分:3)
您的片段应按startActivityForResult
而不是getActivity().startActivityForResult
在onActivityResult
致电super.onActivityResult
和onActivityResult
片段中的活动中,您可以输入您在此处发布的代码。
更多信息原因: