une telle fonctionnalité de sécurité nouvelle et géniale est J'essaie de le comprendre et de faire une démonstration pour cela, mais une question soulevée dans mon esprit que lorsque je suis à la permission de l'utilisateur de gérer avec dialogue. P>
Comment gérer " ne jamais demander à nouveau fort>" p>
Supposons que mon application doit avoir besoin d'une localisation / contact, mais l'utilisateur le nie avec "ne jamais demander à nouveau". P>
Que puis-je faire pour cela. Tous les utilisateurs ne comprennent pas que mon champ n'est requis. P>
Toute suggestion? P>
4 Réponses :
Tout d'abord, vous devez d'abord implémenter Vous pouvez faire comme ça. Ici, je vérifie l'accès de la permission pour ici est Vous pouvez également gérer la situation lorsque l'utilisateur a vérifié la boîte de dialogue d'autorisation d'exécution, car vous pouvez afficher le snackbar ou le bouton pour rediriger l'utilisateur à votre page Paramètres de l'application, car vous ne pouvez pas afficher La boîte de dialogue permanent après l'utilisateur a vérifié ici, j'ai utilisé espérons que cela vous aide. P> P> onereQuestPritmissionsResultCallback code>
de
de
ActivityCompat CODE> Classe dans votre
Activité code> et remplacement
vide OnRequestPermissionsResult (int DemandeCode, @nonnull String [] Autorisations, @nonnull Int [] Grantresults) Code> Pour vérifier si l'utilisateur autorise ou nier la permission
wreck_external_storage code>: p>
oneQuestPritmissionsResult () code> sera appelé lorsque l'utilisateur permettra de permettre ou refuser la permission de la boîte de dialogue d'autorisation d'exécution. p>
"Ne jamais demander à nouveau" code>. p>
snackbar code> pour afficher le message pertinent à l'utilisateur sur la permission et
MainLayout code> est ID de la mise en page principale code> de p>
TX pour la suggestion, je l'ai déjà implémenté, mais ce que je dis que supposons que l'utilisateur cliquez sur nier, mais mon application doit avoir besoin de l'emplacement de ce que je peux faire ?? Comment convaincre l'utilisateur?
Vous donnez une explication à l'utilisateur pourquoi cette autorisation est requise par l'application. vous donnez également une situation que ce qui se passe si l'utilisateur n'a pas permis la permission
@VishaLpatel Oui L'application ne fonctionnera pas si la permission est nécessaire
@VishaLpatel Si l'utilisateur sélectionne "Ne jamais demander à nouveau" votre permission a été refusée de manière permanente et ne peut être activée que via des paramètres Android. Si l'autorisation est la clé de votre application, je vous suggère d'utiliser des messages «amorçage» avant de poser la permission. Vous pouvez afficher une boîte de dialogue d'amorçage (ou une vue en plein écran) afin de sensibiliser l'utilisateur pourquoi vous avez besoin de la permission et de ce qui arrive à la fonctionnalité de l'application s'il n'est pas accordé. Après cela, vous pouvez demander la permission. Jetez un oeil à cette bibliothèque GITUB.COM/AITORVS/ALDME qui implémente également des dialogues d'amorçage simples.
J'ai créé la bibliothèque pour cela. Il est facile à utiliser par des étapes simples. GITUB.COM/KISHANJVAGHELA/ASK-PERMISSION
Ouvrez votre paramètre d'application lorsque l'utilisateur a choisi "NERVER Demandez à nouveau"
Intent intent = new Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS); Uri uri = Uri.fromParts("package", getPackageName(), null); intent.setData(uri); startActivityForResult(intent, REQUEST_PERMISSION_SETTING);
J'ai créé une bibliothèque code> code> qui gère toutes les autorisations Pour répondre à votre question: p>
Pour que vous sache si l'utilisateur P.s: strong> La bibliothèque j'ai créée gérer tous ces types de scénarios pour vous et renvoie des rappels pour vous pour décider quoi faire ensuite!. La bibliothèque a deux implémentations p>
code> pour vous. Vous pouvez le trouver ici: P>
coché code> ne montre plus jamais que vous devrez vérifier deux choses, si l'autorisation est
refusée code> forte> et non
explication nécessaire code> strud> si ces deux
** vrai ** code> Cela signifie que la permission n'est plus disponible et La seule solution à gérer ce cas consiste à ouvrir l'écran Paramètres. p>
Étape 1: Utilisez PermissionsDispatcher Bibliothèque par Hotchemi (la bibliothèque est basée sur l'annotation, simple à utiliser et bien documenté) p>
Étape 2: Vous devez fournir 4 méthodes annotées Et l'un d'eux est @Neveraskagain (Manifeste.Permission. [Permission_YOU_WANT]) Comme ci-dessous P>
@OnNeverAskAgain(Manifest.permission.[permission_you_want]) void showNeverAsk() { // handle here }
J'ai créé la bibliothèque pour cela. Il est facile à utiliser par des étapes simples. GITUB.COM/KISHANJVAGHELA/ASK-PERMISSION
Essayez ceci, c'est peut-être fonctionner Stackoverflow.com/a/41221852/5488468