IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Composants FMX Delphi Discussion :

[Android/iOS] Ouvrir les paramètres du téléphone depuis l'application


Sujet :

Composants FMX Delphi

  1. #1
    Membre éprouvé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2021
    Messages
    164
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Services de proximité

    Informations forums :
    Inscription : Décembre 2021
    Messages : 164
    Par défaut [Android/iOS] Ouvrir les paramètres du téléphone depuis l'application
    Bonjour,

    J'ai une application qui utilise certaines autorisations (appel/photo) seulement je me suis rendu compte que si un utilisateur n'accepte pas le premier coup, la permission n'est pas redemandée à la prochaine exécution de la fonction.

    Puis en téléchargeant de nouvelles applications je me suis rendu compte que c'était pareil pour toutes les applications, seulement sur ces applications lorsque l'on relance une fonction qui nécessite une autorisation, l'application nous propose de nous rediriger vers les autorisations du téléphone afin de les modifier, j'ai farfouiller un petit peu sur Google sans trouver de réponse .

    Je ne sais plus si c'est sur Android ou IOS que j'ai vu cette possibilité, mais si quelqu'un a une piste pour un des deux OS je suis preneur .

  2. #2
    Membre Expert
    Avatar de pprem
    Homme Profil pro
    MVP Embarcadero - formateur&développeur Delphi, PHP et JS
    Inscrit en
    Juin 2013
    Messages
    1 876
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : MVP Embarcadero - formateur&développeur Delphi, PHP et JS
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 876
    Par défaut
    Sur Android, si l'autorisation est refusée, on doit pouvoir refaire la demande directement puisqu'il suffit de mettre notre code. en revanche, effectivement, sur iOS comme c'est FMX qui se débrouille avec l'OS, on n'y a pas accès : ça passe ou ça plante.

    Je n'ai rien vu en standard dans FMX pour appeler la fenêtre de gestion des autorisations d'une application.

    Sur Android il y a peut-être un intent à appeler pour ça. Pour iOS faut regarder dans la doc si un appel le permet.

    Si tu as un exemple d'application qui le fait, ça pourra aider à trouver comment.

  3. #3
    Membre éprouvé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2021
    Messages
    164
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Services de proximité

    Informations forums :
    Inscription : Décembre 2021
    Messages : 164
    Par défaut
    Sur Android, si l'autorisation est refusée, on doit pouvoir refaire la demande directement puisqu'il suffit de mettre notre code.
    Justement il me semble que ce n'est pas le cas et que c'est valable sous Android comme IOS, j'ai fait un test avec une application lambda (Maps), l'autorisation est demandée la première fois, la deuxième on propose une redirection vers les paramètres.

    Android :
    Nom : screen 2.jpg
Affichages : 552
Taille : 67,6 Ko

    IOS :
    Nom : screen.jpg
Affichages : 553
Taille : 105,6 Ko

    Je pense que c'est fait exprès, d'ailleurs je trouve que c'est mieux pour l'utilisateur, ça évite la demande en boucle.

    Si tu as un exemple d'application qui le fait, ça pourra aider à trouver comment.
    Quand j'ai dis ça je pensais à des application déjà présentes sur le Store rien en open source et en Delphi .

    Je vais regarder les docs IOS et Android, c'est vrai que j'aurais du commencer par là

  4. #4
    Membre Expert
    Avatar de pprem
    Homme Profil pro
    MVP Embarcadero - formateur&développeur Delphi, PHP et JS
    Inscrit en
    Juin 2013
    Messages
    1 876
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : MVP Embarcadero - formateur&développeur Delphi, PHP et JS
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 876
    Par défaut
    Tu peux tester l'une des applications exemple avec caméra sur ton appareil et accepter l'autorisation la première fois, aller la refuser dans les paramètres puis retenter l'application pour voir si c'est pris en compte.

    Eventuellement teste avec https://github.com/DeveloppeurPascal...ay-3/SelfieCam

    (je pourrais essayer mais faut attendre que le smartphone se recharge)

  5. #5
    Membre éprouvé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2021
    Messages
    164
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Services de proximité

    Informations forums :
    Inscription : Décembre 2021
    Messages : 164
    Par défaut
    J'ai finalement réussi à trouver mon bonheur!

    Bon les infos sont assez éparpillées sur les forums alors je met ici le code final (la lisibilité reste à améliorer je pense) mais voilà ce que ça donne :

    D'abord dans les uses
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    {$IF Defined(ANDROID)}
      Androidapi.JNI.GraphicsContentViewText, Androidapi.JNI.Provider, Androidapi.Helpers,
      Androidapi.JNIBridge,Androidapi.JNI.JavaTypes,AndroidApi.JNI.Net,
      {$ENDIF}
      {$IF Defined(IOS) }
        IOSApi.Foundation, IOSApi.UIKit, IOSApi.QuartzCore, IOSApi.CocoaTypes,
        Macapi.Helpers, iOSapi.Helpers,
      {$ENDIF}
    Puis les fonctions
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    {$IF DEFINED(IOS)}
    function UIApplicationOpenSettingsURLString: NSString;
    begin
        Result := CocoaNSStringConst(libUIKit, 'UIApplicationOpenSettingsURLString');
    end;
    {$ENDIF}
    procedure OpenAppSettings;
    {$IF Defined(ANDROID)}
    var
      LIntent: JIntent;
      LUri : Jnet_Uri;
    begin
      LUri := TJnet_Uri.JavaClass.fromParts(StringToJString('package'), TAndroidHelper.Context.getPackageName, nil);
      LIntent := TJIntent.JavaClass.init(TJSettings.JavaClass.ACTION_APPLICATION_DETAILS_SETTINGS, LUri);
      LIntent.addFlags(TJIntent.JavaClass.FLAG_ACTIVITY_NEW_TASK); // <-- this might be optional
      TAndroidHelper.Context.startActivity(LIntent);
    end;
    {$ELSEIF DEFINED(IOS)}
    begin
      TiOSHelper.SharedApplication.openURL(TNSURL.Wrap(TNSURL.OCClass.URLWithString(UIApplicationOpenSettingsURLString)));
    end;
    {$ELSE}
    Begin
    End;
    {$ENDIF}
    La source pour IOS ici

    Celle pour Android (en partie) ici

    Merci pour la réponse rapide et le rappel de la base en Java (les intents ) avec les bons mots clé on trouve tout de suite plus facilement!

  6. #6
    Membre Expert
    Avatar de pprem
    Homme Profil pro
    MVP Embarcadero - formateur&développeur Delphi, PHP et JS
    Inscrit en
    Juin 2013
    Messages
    1 876
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : MVP Embarcadero - formateur&développeur Delphi, PHP et JS
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 876
    Par défaut
    Bravo

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 29/06/2011, 18h52
  2. Ouvrir les paramètres d'affichage windows
    Par methylene dans le forum VB.NET
    Réponses: 12
    Dernier message: 29/06/2010, 08h20
  3. Réponses: 2
    Dernier message: 14/03/2009, 22h13
  4. Réponses: 4
    Dernier message: 10/03/2009, 00h03
  5. Réponses: 1
    Dernier message: 02/02/2006, 14h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo