[SOLVED] zxing Fail / cancel to scan .... after using intent to pick lazarus / 43-Android ---------------------------------------------------------------------- Guser979 · 2021-01-14 12:52 hello, I need a clarification.  I'm trying to use Zxing app (with jintentmanager)  to scan bar codes.  works fine.  But right after using an intent to select an image from the gallery or view an image ,I get the message "fail  to scan" .  What is causing Zxing app  to fail right after using intents ( pick or view image) ?  I need to use  Zxing because of some features it has. Code: Pascal  [Select][+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i  ////////////////////////////////  My test (PICK )procedure TAndroidModule1.jButton1Click(Sender: TObject); begin  jIntentManager1 .SetAction('android.intent.action.PICK'); jIntentManager1.SetMimeType( 'image/*');   if jIntentManager1.ResolveActivity then    jIntentManager1.StartActivityForResult(1001, 'Select an Image [Attachment]  ...')  else    ShowMessage('Sorry, Not find an application that fulfills the requirement...');end;  //// Code from demo AppIntentDemoZXing1  procedure TAndroidModule1.jListView1ClickItem(Sender: TObject;  itemIndex: integer; itemCaption: string);begin  if IsRuntimePermissionGranted('android.permission.CAMERA') then  begin   if jIntentManager1.IsCallable('com.google.zxing.client.android.SCAN') then     begin                   jIntentManager1.SetAction('com.google.zxing.client.android.SCAN');       case itemIndex of            0: jIntentManager1.PutExtraString('SCAN_MODE', 'PRODUCT_MODE');   //Prod            1: jIntentManager1.PutExtraString('SCAN_MODE', 'QR_CODE_MODE');   //QR            2: jIntentManager1.PutExtraString('SCAN_FORMATS', 'CODE_39,CODE_93,CODE_128,DATA_MATRIX,ITF'); //others         end;                jIntentManager1.StartActivityForResult(0);      //user- defined requestCode= 0      end     else       begin        if Self.IsWifiEnabled() then        begin          ShowMessage('Wait... try downloading ZXing App from Google Play Store ...');          jIntentManager1.SetAction(jIntentManager1.GetActionViewAsString());                   jIntentManager1.SetDataUri(jIntentManager1.ParseUri(' market://search?q=pname:'+'com.google.zxing.client.android'));        jIntentManager1.StartActivity();        end        else ShowMessage('Please, enable wifi and try again....');     end;  end  else ShowMessage('Sorry... Some Runtime Permission NOT Granted ...');end;  //// Code from demo AppIntentDemoZXing1 procedure TAndroidModule1.AndroidModule1ActivityResult(Sender: TObject;  requestCode: integer; resultCode: TAndroidResult; intentData: jObject); begin  if  requestCode =  0 then  //user-defined requestCode= 0  begin    if resultCode = RESULT_OK then  //ok    begin        ShowMessage('FORMAT: '+jIntentManager1.GetExtraString(intentData, 'SCAN_RESULT_FORMAT'));      ShowMessage('CONTENT: '+jIntentManager1.GetExtraString(intentData, 'SCAN_RESULT'));    end else ShowMessage('Fail/cancel to scan....');[color=red]//////  ERROR AFTER PICK IMAGE[/color]  end; /////////////////////// My test (PICK) Once executed, SCAN FAIL   if  requestCode =  1001 then  begin    if resultCode = RESULT_OK then    begin     showmessage( jIntentManager1.GetDataUriAsString(intentData));       end  else ShowMessage('Fail! ....!');   end;   end; Solved : I just used another Jintentmanager. One for Xling and one for PICK and apparently it is solved.