2017-10-10 5 views
2

Pour mon application pour certaines fonctionnalités, je dois utiliser l'appareil photo, ce qui n'est pas nécessaire pour les fonctionnalités de base de l'application, donc je dois spécifier l'utilisation facultative de l'appareil photo. Ainsi, dans le manifeste, je déclarai la permission comme suit:Android: Accorder des autorisations via ADB

<uses-permission android:name="android.permission.CAMERA"/> 
<uses-feature android:name="android.hardware.camera" android:required="false"/> 
<uses-feature android:name="android.hardware.camera.autofocus" android:required="false"/> 

Mais lorsque je tente d'accorder l'autorisation par adb en utilisant la commande suivante, il donne une erreur:

pm grant my.app.package android.permission.CAMERA 

donne l'erreur:

Operation not allowed: java.lang.SecurityException: Can't change android.permission.CAMERA. It is required by the application 

Mon périphérique est rooté et fonctionne sous Android 5.1.1 (22). Selon l'ADB documentation, puisque l'autorisation est déclarée comme facultative, je devrais être en mesure d'accorder l'autorisation de ADB comme mentionné ci-dessus. J'ai référencé this, this et this. Mais je n'arrivais toujours pas à comprendre pourquoi cela ne fonctionnait pas.

Merci d'avance pour vos suggestions et recommandations.

Répondre

0
adb shell pm [grant|revoke] [package] android.permission.CAMERA 

utilisez la commande adb shell \

Reportez-vous cela pour plus de précisions grant/revoke permission with adb

-1

Tout d'abord, nous allons connecter un téléphone sur votre ordinateur et nous allons voir combien d'applications sont installées:

>> ./adb shell pm list packages 

Vous obtiendrez une liste des noms de paquets:

[...] 
com.google.android.GoogleCamera 
[...] 

Maintenant, nous allons obtenir la liste de toutes les autorisations:

>> ./adb shell pm list permissions -d -g 

[...] 
group:android.permission-group.CAMERA 
    permission:android.permission.CAMERA 
[...] 

Et voici comment révoquer l'autorisation:

>> ./adb shell pm revoke com.google.android.GoogleCamera android.permission.CAMERA 

et ici comment accorder ce retour:

>> ./adb shell pm grant com.google.android.GoogleCamera android.permission.CAMERA