Einzelnen Beitrag anzeigen

Rollo62

Registriert seit: 15. Mär 2007
4.093 Beiträge
 
Delphi 12 Athens
 
#2

AW: Fehler beim Android-FileProvider: Datei wird nicht geöffnet

  Alt 22. Mai 2019, 11:35

und nun rufe ich es folgendermaßen via Delphi auf:
Delphi-Quellcode:
    var
     fileuri: JNet_Uri;
     Intent: JIntent;
    begin
      //fileuri := StrToJURI('content://com.icTrainer.fileprovider/ictresources/icTrainer.pdf');
      // Versuch es mal statt StrToJURL mit FileToUrl
      // passt nicht 1:1, weil Du kein temp. File hast, aber so funktioniert das bei mir
      LImageFile := TJFile.JavaClass.createTempFile(
                                       StringToJString( 'attachment' + AIndex.ToString ),
                                       StringToJString('.png'),
                                       LOutputDir);
      fileuri := TAndroidHelper.JFileToJURI( LImageFile );


      Intent := TJIntent.Create;
      Intent.setAction(TJIntent.JavaClass.ACTION_VIEW);
      Intent.setDataAndType(fileuri,StringToJString('application/pdf'));

      // Und die Permissions setze ich dabei so, mit addFlags
      //Intent.setFlags(TJIntent.JavaClass.FLAG_GRANT_READ_URI_PERMISSION);
      Intent.setFlags( TJIntent.JavaClass.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET ); //<-- versuch mal das
      Intent.addFlags( TJIntent.JavaClass.FLAG_GRANT_READ_URI_PERMISSION ); // und mit addFlags
      TAndroidHelper.Activity.StartActivity(Intent);
    end;
So funktioniert das sharing bei mir, auch auf Android 9.

Es gab da Änderungeb ich glaube ab API26, schau man in JFileToJURI.
  Mit Zitat antworten Zitat