2 votes

Désactiver le nouveau système de permission d'Android

J'aime beaucoup le nouveau système de permission d'Android du point de vue de l'utilisateur final, car j'aime avoir le contrôle sur ce que fait mon téléphone, mais j'ai vraiment du mal à l'utiliser au travail, voici pourquoi :

Nous développons des applications et je suis responsable de l'assurance qualité. Nous avons récemment introduit des tests automatisés. Au cours du processus de test, nous installons notre application sur un émulateur Android (Visual Studio Emulator for Android). Comme notre application a besoin d'accéder aux services de localisation, Android demande la permission à l'utilisateur. Comme l'utilisateur est "le roi", la boîte de dialogue de permission n'est pas exposée à notre cadre de test, de sorte que nous ne pouvons pas y répondre automatiquement.

Voici donc ma question :

Existe-t-il un paramètre dans Android permettant de désactiver le nouveau système d'autorisation ? Il n'y a pas besoin de régler ce paramètre automatiquement, je peux régler ce paramètre une fois à la main, la seule chose que je ne peux pas faire est de répondre à cette boîte de dialogue de permission à chaque fois que l'application est installée.

Merci pour votre aide, vat

2voto

Julien Points 121

adb install -g package.apk

J'ai rencontré un problème similaire lors de tests automatisés : lors du lancement de l'application, la boîte de dialogue d'autorisation s'est affichée. La boîte de dialogue de permission s'est affichée au lancement de l'application. adb shell pm grant … n'a pas aidé mais il y a la commande -g option de adb install pour accorder toutes les autorisations lors de l'installation. Cela a résolu le problème pour moi.

De adb --help :

Android Debug Bridge version 1.0.41
Version 30.0.5-6877874
[…]
app installation (see also `adb shell cmd package help`):
 install [-lrtsdg] [--instant] PACKAGE
     push a single package to the device and install it
[…]
    -g: grant all runtime permissions
[…]

1voto

Andy Brudtkuhl Points 1714

Vous ne pouvez pas le désactiver complètement, et vous ne voudriez pas le faire sur votre machine de test même si vous le pouviez, car vous ne pourriez alors pas tester la façon dont votre application interagit avec le système de permission (par exemple en affichant la "justification de la permission", en gérant les demandes rejetées, en gérant la perte de focus lorsque la boîte de dialogue s'affiche).

Cette question est posée sur Stack Overflow, notre site frère pour les questions de programmation. explique quelques façons de gérer les autorisations d'exécution de Marshmallow lors de l'exécution de tests, et autre question sur le même site a des réponses différentes. Comme vous avez dit que vous étiez prêt à faire une action unique pour que cela fonctionne, n'oubliez pas que vous pouvez cocher l'option "ne pas demander à nouveau" lorsque vous obtenez la boîte de dialogue de permission, pour accepter automatiquement les futures demandes de permission de la même application.

1voto

coelhudo Points 1375

À titre de référence : Voici la réponse qui a résolu mon problème (tirée de https://stackoverflow.com/a/32798532/5736633 ) :

Vous pouvez accorder et révoquer des autorisations à l'aide de :

adb shell pm grant com.package.myapp android.permission.<PERMISSION>
adb shell pm revoke com.package.myapp android.permission.<PERMISSION>

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X