Einzelnen Beitrag anzeigen

dynamo

Registriert seit: 21. Okt 2008
Ort: Bordesholm
37 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: Warum Android-Berechtigungen direkt setzen?

  Alt 18. Apr 2023, 01:05
Ich habe jetzt etwas mit den Permissions herumexperimentiert und herausgefunden, dass die Auflistung der Berechtigungen in Delphi (Haken gesetzt) in „AndroidManifest.xml“ erscheint.
Z.B.: <uses-permission android:name="android.permission.CAMERA" />

Android 13 bietet folgende Berechtigungsliste an:

-Anrufliste
-Benachrichtigungen
-Dateien und Medien
-Fotos und Videos
-Geräte in der Nähe
-Kalender
-Kamera
-Kontakte
-Körperliche Aktivität
-Körpersensoren
-Mikrofon
-Musik und Audio
-SMS
-Standort
-Telefon
-Zusätzliche Berechtigungen

Was mir jetzt fehlt, ist der Ausdruck für „Dateien und Medien“. Alo sowas ähnliches wie

<uses-permission android:name="android.permission.DATEIN_UND_MEDIEN " />

Eine Entsprechung finde ich in der Delphi-Liste leider nicht.
Hier ein Auszug dessen, was ich schon alles probiert habe:

Delphi-Quellcode:
procedure TForm1.FormActivate(Sender: TObject);
const
  camera = 'android.permission.CAMERA';
  internet = 'android.permission.INTERNET';
  read_Calender = 'android.permission.READ_CALENDAR';
  Write_Calender = 'android.permission.WRITE_CALENDAR';
  READ_EXTERNAL_STORAGE = 'android.permission.READ_EXTERNAL_STORAGE';
  WRITE_EXTERNAL_STORAGE = 'android.permission.WRITE_EXTERNAL_STORAGE';
// ... ich habe noch eine Menge mehr versucht, leider war nichts dabei
begin
{$IFDEF ANDROID}

    PermissionsService.RequestPermissions([camera,
                                           internet,
                                           read_Calender,
                                           Write_Calender,
                                           READ_EXTERNAL_STORAGE,
                                           WRITE_EXTERNAL_STORAGE],

      procedure(const APermissions: TArray<string>;
      const AGrantResults: TArray<TPermissionStatus>)
      begin // vlt. etwas umständlich, ist ja auch nur 'n Versuch
        if (Length(AGrantResults) = 6)
          and (AGrantResults[0] = TPermissionStatus.Granted)
          and (AGrantResults[1] = TPermissionStatus.Granted)
          and (AGrantResults[2] = TPermissionStatus.Granted)
          and (AGrantResults[3] = TPermissionStatus.Granted)
          and (AGrantResults[4] = TPermissionStatus.Granted)
          and (AGrantResults[5] = TPermissionStatus.Granted)
           then
  // StatusLabel.Text := 'Lade App...';
        else
        begin
  // StatusLabel.Text := 'keine Berechtigung...';

          TDialogService.ShowMessage('permission not granted');
        end;
      end);

{$ENDIF}
end;
Ich bin nach wie vor auf der Suche nach dem Permission-Begriff für "Dateien und Medien". Hat jemand eine Idee?
Jörg
  Mit Zitat antworten Zitat