Met deze code:
Code:
uses
Androidapi.JNI.GraphicsContentViewText, Androidapi.Helpers,
Androidapi.JNI.Net, Androidapi.JNI.Provider,
FMX.Platform.Android, Androidapi.JNI.Net,
Androidapi.Jni.Os, Androidapi.Helpers,
Androidapi.JNIBridge, Androidapi.JNI.JavaTypes;
var
Test: JNet_Uri;
//------------------------------------------------------------------------------
procedure TForm1.Button1Click(Sender: TObject);
begin
//Test := ??? Wat geef ik hier op ?
openDirectory( Test );
end;
//------------------------------------------------------------------------------
procedure TForm1.openDirectory(uriToLoad : JNet_Uri); (* DizinAc *)
// Choose a directory using the system's file picker.
var
Intent : JIntent;
begin
Intent := TJIntent.Create;
Intent.setAction(TJIntent.JavaClass.ACTION_OPEN_DOCUMENT_TREE);
// Optionally, specify a URI for the directory that should be opened in
// the system file picker when it loads.
Intent.putExtra(TJDocumentsContract.JavaClass.EXTRA_INITIAL_URI, JParcelable(uriToLoad));
Mainactivity.startActivityForResult(Intent, 33); //Is 33 het juiste getal ?
end;
Krijg ik dit scherm:

En klik op Deze map gebruiken (Documents/MMSoft)
En kan dan toestemming geven om deze Map te gebruiken voor deze App (Die de naam "Test" heeft):

Hier kies ik natuurlijk voor Toestaan, maar ...

Helaas kan ik het bestand Bestand.txt dan nog niet openen
Het valt mij op dat de volgende keer dat deze App weer gestart wordt weer de vraag komt om toestemming te geven.
Deze toestemming is dus niet opgeslagen.
Dus daar gaat al iets mis. Hoe zou ik deze toestemming op moeten slaan ?
Ik ben blijkbaar op de goede weg, maar wat moet er nog verbeterd worden denken jullie ?
================================================== ======
Edit:
Eens een hele andere weg ingeslagen en het werkt nu, MAAR er verschijnt nu nog geen Machtigings vraag en dat is natuurlijk wel de bedoeling.
-Begin een nieuw project (er wordt dan ook een nieuw "AndroidManifest.template.xml" bestand aangemaakt)
-Plaats in "AndroidManifest.template.xml" onder <%uses-permission%> deze regel:
Code:
<%uses-permission%>
<uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE"/>
Als de App start krijg je nu helaas nog niet de Machtigings vraag, maar deze kan je aanzetten bij:
-Instellingen
-Zoek naar: Toegang tot alle bestanden
(-Speciale Toegang)
-Toegang tot alle bestanden
-Kies de juiste App en zet de Switch aan
Deze App heeft nu toegang tot de bestanden.
Hopelijk blijft dit in de volgende versie's ook werken 
Maar nu, hoe kan ik de App om deze Machtiging laten vragen ?
Bookmarks