開始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 –