AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Permissions der eigenen App öffnen

Ein Thema von QuickAndDirty · begonnen am 13. Jun 2022 · letzter Beitrag vom 15. Jun 2022
Antwort Antwort
QuickAndDirty

Registriert seit: 13. Jan 2004
Ort: Hamm(Westf)
1.999 Beiträge
 
Delphi 12 Athens
 
#1

Permissions der eigenen App öffnen

  Alt 13. Jun 2022, 08:53
Hallo ,
wie kann ich unter Android die Seite mit den Permissions der App oder noch besser die seite mit den Location Permissions der App öffnen?
System.Permissions.PermissionsService Stellt diese funktion auf den ersten blick nicht bereit.
Muss ich das über einen intent machen?

Ist es dieser Intent
Delphi-Quellcode:
CONST
  cACTION_APPLICATION_DEVELOPMENT_SETTINGS = 'android.settings.APPLICATION_DETAILS_SETTINGS';
Andreas
Monads? Wtf are Monads?

Geändert von QuickAndDirty (13. Jun 2022 um 08:59 Uhr) Grund: hab was herausbekommen
  Mit Zitat antworten Zitat
mjustin

Registriert seit: 14. Apr 2008
3.010 Beiträge
 
Delphi 2009 Professional
 
#2

AW: Permissions der eigenen App öffnen

  Alt 13. Jun 2022, 09:43
https://developer.android.com/refere...TAILS_SETTINGS

"Show screen of details about a particular application."

Von allen auf der Seite angebotenen Activity Actions scheint das die einzige zu sein, von der aus man zu den Permissions der angegebenen App gelangt.
Michael Justin
  Mit Zitat antworten Zitat
QuickAndDirty

Registriert seit: 13. Jan 2004
Ort: Hamm(Westf)
1.999 Beiträge
 
Delphi 12 Athens
 
#3

AW: Permissions der eigenen App öffnen

  Alt 13. Jun 2022, 12:20
Sieht das korrket aus?
Und
Wie kann ich 'com.my.app' per programm herausfinden so das die methode universal einsetzbar ist?
Delphi-Quellcode:
procedure OpenAppSettings;
{$IFDEF ANDROID}
  Const
    cACTION_APPLICATION_DETAILS_SETTINGS = 'android.settings.APPLICATION_DETAILS_SETTINGS';
  var
    Intent: JIntent;
    ResolveInfo: JResolveInfo;
    AppId:String;
{$ENDIF}
begin
{$IFDEF ANDROID}
  AppID := JStringToString(TAndroidHelper.Context.getApplicationContext.getPackageName);
  Intent := TJIntent.JavaClass.init( StringToJString(cACTION_APPLICATION_DETAILS_SETTINGS) );
  Intent.setData(StrToJURI('package:'+ AppID ));
  Intent.setFlags(TjIntent.JavaClass.FLAG_ACTIVITY_NEW_TASK);
  ResolveInfo := SharedActivity.getPackageManager.resolveActivity(Intent, 0);
  if assigned(ResolveInfo) then
    SharedActivity.startActivity(Intent);
{$ENDIF}
end;
Andreas
Monads? Wtf are Monads?

Geändert von QuickAndDirty (13. Jun 2022 um 13:08 Uhr) Grund: hab was heraus gefunden und daher den post überarbeitet
  Mit Zitat antworten Zitat
mjustin

Registriert seit: 14. Apr 2008
3.010 Beiträge
 
Delphi 2009 Professional
 
#4

AW: Permissions der eigenen App öffnen

  Alt 13. Jun 2022, 14:13
Delphi-Quellcode:
  Const
    cACTION_APPLICATION_DETAILS_SETTINGS = 'android.settings.APPLICATION_DETAILS_SETTINGS';
  AppID := JStringToString(TAndroidHelper.Context.getApplicationContext.getPackageName);
  Intent := TJIntent.JavaClass.init( StringToJString(cACTION_APPLICATION_DETAILS_SETTINGS) );
  Intent.setData(StrToJURI('package:'+ AppID ));
  Intent.setFlags(TjIntent.JavaClass.FLAG_ACTIVITY_NEW_TASK);
  ResolveInfo := SharedActivity.getPackageManager.resolveActivity(Intent, 0);
  if assigned(ResolveInfo) then
    SharedActivity.startActivity(Intent);
Anstatt der selbst definierten Konstante sollte auch ein Auslesen der definierten Konstante funktionieren:

android.provider.Settings.JavaClass.APPLICATION_DETAILS_SETTINGS

Für Android entwickle ich nur mit Java, aber der sonstige Code sieht ok aus
Michael Justin
  Mit Zitat antworten Zitat
QuickAndDirty

Registriert seit: 13. Jan 2004
Ort: Hamm(Westf)
1.999 Beiträge
 
Delphi 12 Athens
 
#5

AW: Permissions der eigenen App öffnen

  Alt 13. Jun 2022, 15:20
Delphi-Quellcode:
  Const
    cACTION_APPLICATION_DETAILS_SETTINGS = 'android.settings.APPLICATION_DETAILS_SETTINGS';
  AppID := JStringToString(TAndroidHelper.Context.getApplicationContext.getPackageName);
  Intent := TJIntent.JavaClass.init( StringToJString(cACTION_APPLICATION_DETAILS_SETTINGS) );
  Intent.setData(StrToJURI('package:'+ AppID ));
  Intent.setFlags(TjIntent.JavaClass.FLAG_ACTIVITY_NEW_TASK);
  ResolveInfo := SharedActivity.getPackageManager.resolveActivity(Intent, 0);
  if assigned(ResolveInfo) then
    SharedActivity.startActivity(Intent);
Anstatt der selbst definierten Konstante sollte auch ein Auslesen der definierten Konstante funktionieren:

android.provider.Settings.JavaClass.APPLICATION_DETAILS_SETTINGS
Aber wo in Delphi bekomme ich diese Konstante her?
Andreas
Monads? Wtf are Monads?

Geändert von QuickAndDirty (13. Jun 2022 um 15:35 Uhr)
  Mit Zitat antworten Zitat
mjustin

Registriert seit: 14. Apr 2008
3.010 Beiträge
 
Delphi 2009 Professional
 
#6

AW: Permissions der eigenen App öffnen

  Alt 13. Jun 2022, 15:32
Aber wo in Delphi bekomme ich diese Konstante her?
Vermutlich durch ein "uses JSettings", so wie es auch bei JIntent schon gemacht wird:

 Intent := TJIntent.JavaClass.init( JSettings.JavaClass.APPLICATION_DETAILS_SETTINGS );

Beispiel von SO https://stackoverflow.com/a/42686077/80901)

if aResultCode = TJActivity.JavaClass.RESULT_OK then RESULT_OK ist zwar eine numerische Konstante, aber ich bin optimistisch dass es auch mit Strings geht
Michael Justin

Geändert von mjustin (13. Jun 2022 um 15:37 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:43 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz