开始QR码扫描器我一直在寻找一个在互联网上的答案。Android工作室 - 从片段
事情是,我发现很多方法来实施一个QR码扫描仪在我的应用程序,在一项活动。
这其中的方法之一:
scan_btn = (Button) view.findViewById(R.id.scan_btn);
scan_btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
IntentIntegrator integrator = new IntentIntegrator(getActivity());
integrator.setDesiredBarcodeFormats(IntentIntegrator.QR_CODE_TYPES);
integrator.setPrompt("Scan!!");
integrator.setCameraId(0);
integrator.setBeepEnabled(false);
integrator.setBarcodeImageEnabled(false);
integrator.initiateScan();
}
});
现在,我想它在一个片段工作。 的问题是,它开始一个新的活动(QR码阅读器) 扫描QR码 但我没有得到我的onActivityResult响应:
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
IntentResult result = IntentIntegrator.parseActivityResult(requestCode, resultCode, data);
if (result != null) {
if (result.getContents() == null) {
System.out.println("Cancelled");
Toast.makeText(getActivity(), "You cancelled the scanning!", Toast.LENGTH_LONG).show();
} else {
System.out.println("Worked: " + result.getContents());
Toast.makeText(getActivity(), "scanned: " + result.getContents(), Toast.LENGTH_LONG).show();
}
} else {
super.onActivityResult(requestCode, resultCode, data);
}
}
但什么错误?
我猜它与这部分做的事:
IntentIntegrator integrator = new IntentIntegrator(getActivity());
它得到了活动,但它是一个片段,而不是活动。 我该如何解决这个问题?
首先通信我的活动,其中包含片段,然后得到结果? 请帮助,谢谢:)
只需在构造函数中传递fragment而不是getActivity –