I have an app for qrcode scanner. What happens with my code in fragment is, it just opens the camera and scan and did not toast any results.. I don't see any problem with my code because when I transferred it to an activity, it is working well.
It looks like my onActivityResult
is not called in Fragments.
Tried checking this post but it didn't help..
// ...........
@Override
public void onClick(View v) {
int id = v.getId();
switch (id){
case R.id.btn_chargeitem:
Intent intent = new Intent(getActivity(), AllPurchaseActivity.class);
startActivity(intent);
break;
case R.id.scanqrcode_layout:
scanQrCode();
break;
}
}
public void scanQrCode(){
IntentIntegrator integrator = new IntentIntegrator(getActivity());
integrator.setDesiredBarcodeFormats(IntentIntegrator.QR_CODE_TYPES);
integrator.setPrompt("Scan");
integrator.setCameraId(0);
integrator.setBeepEnabled(true);
integrator.setBarcodeImageEnabled(false);
integrator.initiateScan();
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
IntentResult result = IntentIntegrator.parseActivityResult(requestCode,resultCode,data);
if(result != null){
if(result.getContents()==null){
Toast.makeText(getActivity(), "Scanning was cancelled", Toast.LENGTH_LONG).show();
}
else {
Toast.makeText(getActivity(), result.getContents()+"are the contents of the qrcode", Toast.LENGTH_SHORT).show();
}
}
else {
super.onActivityResult(requestCode, resultCode, data);
}
}
// ............