English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Opérations de permission Android : uses-Détails de permission

Cet article illustre les opérations de permission d'Android en utilisant uses-permission. Partageons-le avec tous pour la référence, voici les détails :

Lorsque nous installons un logiciel Android, le système indiquera les permissions nécessaires à ce logiciel, par rapport à d'autres systèmes, les permissions d'Android sont très nombreuses. Lorsque nous développons un logiciel, nous devons également déclarer les permissions correspondantes, par exemple, si nous voulons que le logiciel puisse envoyer des SMS, nous devons déclarer la permission d'appel du SMS du logiciel, sinon le logiciel signalera une erreur lors de son exécution.

Les permissions d'Android sont configurées dans le fichier AndroidManifest.xml. Le fichier AndroidManifest contient quatre étiquettes liées à permission, à savoir <permission>、 <permission-group> 、<permission-tree> et <uses-permission> dans notre fichier manifest. Parmi eux, le plus couramment utilisé est <uses-permission>,quand nous avons besoin d'obtenir une permission spécifique, nous devons déclarer <uses-permission>。

<?xml version="1.0" encoding="utf-8"?>
<manifest>
  <application>
  </application>
  <uses-permission />
  <permission />
  <permission-tree />
  <permission-group />
  ...
</manifest>

<permission> et <uses-permission> a un effet similaire, mais les différences entre les deux, <uses-permission> est une permission prédéfinie pour Android, <permission> est une permission définie par l'utilisateur. <permission> est utilisé relativement rarement, <permission-group> <permission-tree> Ces deux étiquettes sont moins courantes, pour faire simple <permission-group> Déclare une étiquette qui représente un groupe de permissions, et <permission-tree> Un namespace est déklará pour un groupe de permissions. Les méthodes spécifiques des trois étiquettes suivantes seront expliquées dans un article ultérieur.

<permission> est défini comme suit :

<permission android:description="string resource"
      android:icon="drawable resource"
      android:label="string resource"
      android:name="string"
      android:permissionGroup="string"
      android:protectionLevel=["normal" | "dangerous" |
                   "signature" | "signatureOrSystem"] />

Le code ci-dessus est extrait de la documentation officielle : http://developer.android.com/guide/topics/manifest/permission-element.html. L'attribut propectionLevel doit être déclaré, pour informer le système que l'application nécessite une autorisation, ou pour permettre à qui pense qu'il a obtenu l'autorisation. permissionGroup est optionnel, et est lié à <permission-group> peuvent être utilisés ensemble. label, name et icon sont utilisés pour décrire les permissions. L'utilisation de <permission> sera analysée en détail plus tard.

<uses-permission> est l'une des plus utilisées, la définition selon la documentation officielle est la suivante :

<uses-permission android:name="string" />

Par exemple, la définition des permissions de SMS et d'appel téléphonique :

<uses-permission android:name="android.permission.CALL_PHONE" />
<uses-permission android:name="android.permission.SEND_SMS"/>

ci-dessous sont les informations collectées <uses-informations sur les permissions, faciles à trouver lors de leur utilisation :

android.permission.ACCESS_CHECKIN_PROPERTIES
permis en lecture et écriture d'accès à la table "properties" dans la base de données checkin, les valeurs peuvent être modifiées et téléchargées (Permet la lecture/accès en écriture à la table "properties" dans la base de données checkin, pour modifier les valeurs qui sont téléchargées)

android.permission.ACCESS_COARSE_LOCATION
Permet à une application d'accéder à l'ID de cellule ou à un point d'accès Wi-Fi pour obtenir une localisation grossière (Permet à une application d'accéder à l'ID de cellule ou à un point d'accès Wi-Fi pour obtenir une localisation grossière)-ID, WiFi)

android.permission.ACCESS_FINE_LOCATION
Permet à une application d'accéder à une localisation fine (par exemple, GPS) (Permet à une application d'accéder à une localisation fine (par exemple, GPS))

android.permission.ACCESS_LOCATION_EXTRA_COMMANDS
Permet à une application d'accéder aux commandes supplémentaires des fournisseurs de localisation (Permet à une application d'accéder aux commandes supplémentaires des fournisseurs de localisation)

android.permission.ACCESS_MOCK_LOCATION
Permet à une application de créer des fournisseurs de localisation simulée pour le test (Permet à une application de créer des fournisseurs de localisation simulée pour le test)

android.permission.ACCESS_NETWORK_STATE
Permet aux applications d'accéder aux informations sur les réseaux (Permet aux applications d'accéder aux informations sur les réseaux)

android.permission.ACCESS_SURFACE_FLINGER
Permet à une application d'utiliser les fonctionnalités de bas niveau de SurfaceFlinger (Permet à une application d'utiliser les fonctionnalités de bas niveau de SurfaceFlinger)

android.permission.ACCESS_WIFI_STATE
Permet à une application d'accéder au Wi-Fi-Informations sur l'état du réseau Wi-Fi (Permet aux applications d'accéder aux informations sur le réseau Wi-Fi)-Réseaux Fi)

android.permission.ADD_SYSTEM_SERVICE
Permet à une application de publier un service de niveau système (Permet à une application de publier un service de niveau système)-services de niveau).

android.permission.BATTERY_STATS
Permet à une application de mettre à jour les statistiques de la batterie du téléphone (Permet à une application de mettre à jour les statistiques de la batterie du téléphone).

android.permission.BLUETOOTH
Permet aux applications de se connecter aux appareils Bluetooth appariés (Permet aux applications de se connecter aux appareils Bluetooth appariés).

android.permission.BLUETOOTH_ADMIN
Permet aux applications de découvrir et de se connecter aux appareils Bluetooth (Permet aux applications de découvrir et de se connecter aux appareils Bluetooth).

android.permission.BRICK
Nécessaire pour pouvoir désactiver l'appareil (très *extrêmement dangereux)!)

android.permission.BROADCAST_PACKAGE_REMOVED
Permet à une application de diffuser une notification indiquant qu'un application
Le paquet a été supprimé)

android.permission.BROADCAST_STICKY
Permet à une application de diffuser des intents courants (Permet à une application de diffuser des intents courants).

android.permission.CALL_PHONE
Permet à une application d'initier un appel téléphonique sans passer par l'interface utilisateur du composant de composition pour que l'utilisateur confirme l'appel en cours (Permet à une application d'initier un appel téléphonique sans passer par l'interface utilisateur du composant de composition pour que l'utilisateur confirme l'appel en cours).

android.permission.CALL_PRIVILEGED
Permet à une application d'appeler tout numéro de téléphone, y compris les numéros d'urgence, sans passer par l'interface utilisateur du Dialer pour que l'utilisateur confirme l'appel en cours.

android.permission.CAMERA
Nécessaire pour accéder au dispositif photo.

android.permission.CHANGE_COMPONENT_ENABLED_STATE
Permet à une application de modifier l'état d'activation ou de désactivation d'un composant ou d'autres composants.

android.permission.CHANGE_CONFIGURATION
Permet à une application de modifier la configuration actuelle, comme la localisation.

android.permission.CHANGE_NETWORK_STATE
Permet aux applications de modifier l'état de connectivité réseau

android.permission.CHANGE_WIFI_STATE
Permet à une application de modifier l'état de connexion Wi-Permet aux applications de modifier l'état de connexion Wi-Fi-Ficonnectivity state)

android.permission.CLEAR_APP_CACHE
Permet à une application de vider le cache de toutes les applications installées sur l'appareil.

android.permission.CLEAR_APP_USER_DATA
Permet à une application de supprimer les paramètres utilisateur (Permet à une application de supprimer les données utilisateur)

android.permission.CONTROL_LOCATION_UPDATES
Permet d'activer ou de désactiver les notifications de mise à jour de position du module sans fil (Permet d'activer ou de désactiver les notifications de mise à jour de position du module sans fil)/désactiver les notifications de mise à jour de position radio. )

android.permission.DELETE_CACHE_FILES
Permet à une application de supprimer des fichiers de cache (Permet à une application de supprimer des fichiers de cache)

android.permission.DELETE_PACKAGES
Permet à une application de supprimer des paquets (Permet à une application de supprimer des paquets)

android.permission.DEVICE_POWER
Permet d'accéder au gestionnaire de bas niveau de l'énergie (Permet d'accéder au gestionnaire de bas niveau de l'énergie)-accès de niveau bas au gestionnaire d'énergie)

android.permission.DIAGNOSTIC
Permet aux applications d'accéder en lecture/écriture aux ressources de diagnostic (Permet aux applications d'accéder en lecture/écriture aux ressources de diagnostic. )

android.permission.DISABLE_KEYGUARD
Permet aux applications de désactiver le verrouillage du clavier (Permet aux applications de désactiver le verrouillage du clavier )

android.permission.DUMP
Permet à une application de récupérer des informations de vidage d'état à partir des services système (Permet à une application de récupérer des informations de vidage d'état à partir des services système.)

android.permission.EXPAND_STATUS_BAR
Permet à une application d'agrandir ou de réduire la barre d'état, Android Development Network recommande qu'il s'agit d'une application de type bac à sable similaire à celle de Windows Mobile (Permet à une application d'agrandir ou de réduire la barre d'état. )

android.permission.FACTORY_TEST
Exécuter en tant qu'application de test de fabricant, en tant qu'utilisateur root (Exécuter en tant qu'application de test de fabricant, en tant qu'utilisateur root)

android.permission.FLASHLIGHT
Accéder à la lampe de poche, androiddev.net conseille que le HTC Dream ne contient pas de lampe de poche (Permet l'accès à la lampe de poche)

android.permission.FORCE_BACK
Permet à une application de forcer une opération BACK sur n'importe quel activity en cours (Permet à une application de forcer une opération BACK sur n'importe quel activity en cours)

android.permission.FOTA_UPDATE
Je ne comprends pas encore à quoi cela sert, l'analyse du site androiddev.net suggère qu'il pourrait s'agir d'une permission réservée.

android.permission.GET_ACCOUNTS
Accéder à la liste des comptes dans le AccountsService (Permet l'accès à la liste des comptes dans le Accounts Service)

android.permission.GET_PACKAGE_SIZE
Permet à une application de découvrir l'espace utilisé par tout paquetage. (Permet à une application de découvrir l'espace utilisé par tout paquetage.)

android.permission.GET_TASKS
Permet à une application d'obtenir des informations sur les tâches en cours ou récemment exécutées : une représentation succincte des tâches, les activités en cours, etc. (Permet à une application d'obtenir des informations sur les tâches en cours ou récemment exécutées : une représentation succincte des tâches, les activités en cours, etc.)

android.permission.HARDWARE_TEST
Permet d'accéder aux périphériques matériels (Permet l'accès aux périphériques matériels. )

android.permission.INJECT_EVENTS
Permet à une application d'injecter des événements utilisateur tels que les touches, le toucher, la roulette de défilement, etc., dans un flux d'événements, android开发网提醒这算是hook技术吧 (Permet à une application d'injecter des événements utilisateur (touches, touches, roulette de défilement) dans le flux d'événements et de les livrer à N'importe quelle fenêtre.)

android.permission.INSTALL_PACKAGES
Permet à une application d'installer des packages (Permet à une application d'installer des packages. )

android.permission.INTERNAL_SYSTEM_WINDOW
Permet d'ouvrir des fenêtres utilisées par des parties de l'interface utilisateur système (Permet une application d'ouvrir des fenêtres qui sont pour usage par des parties de l'interface utilisateur système. )

android.permission.INTERNET
Permet à un programme d'ouvrir des sockets réseau (Permet aux applications d'ouvrir des sockets réseau)

android.permission.MANAGE_APP_TOKENS
Permet à un programme de gérer (créer, détruire, z- order par défaut vers le déplacement sur l'axe Z) programme de référence dans le gestionnaire de fenêtres (Permet une application de gérer (créer, détruire, Z-order) application tokens in the window manager. )

android.permission.MASTER_CLEAR
Il n'y a pas encore d'explication claire, android开发网分析可能是清除所有数据,类似硬格机

android.permission.MODIFY_AUDIO_SETTINGS
Autorise une application à modifier les paramètres audio globaux

android.permission.MODIFY_PHONE_STATE
Autorise la modification de l'état du téléphone, comme l'alimentation, l'interface homme-machine, etc.

android.permission.MOUNT_UNMOUNT_FILESYSTEMS
Autorise de monter et démonter des systèmes de fichiers pour le stockage amovible

android.permission.PERSISTENT_ACTIVITY
Autorise une application à rendre persistantes ses activités

android.permission.PROCESS_OUTGOING_CALLS
Autorise une application à surveiller, modifier ou interrompre les appels sortants

android.permission.READ_CALENDAR
Autorise une application à lire les données du calendrier de l'utilisateur

android.permission.READ_CONTACTS
Autorise une application à lire les données des contacts de l'utilisateur

android.permission.READ_FRAME_BUFFER
Autorise une application à prendre des captures d'écran et plus généralement à accéder aux données du tampon de framebuffer

android.permission.READ_INPUT_STATE
Permet à une application de récupérer l'état actuel des touches et des interrupteurs (Permet à une application de récupérer l'état actuel des touches et des interrupteurs. )

android.permission.READ_LOGS
Permet à une application de lire les fichiers journaux système de bas niveau (Permet à une application de lire les fichiers journaux système de bas niveau)-level system log files. )

android.permission.READ_OWNER_DATA
Permet à une application de lire les données de propriétaire (Permet à une application de lire les données de propriétaire)

android.permission.READ_SMS
Permet à une application de lire les messages SMS (Permet à une application de lire les messages SMS.)

android.permission.READ_SYNC_SETTINGS
Permet aux applications de lire les paramètres de synchronisation (Permet aux applications de lire les paramètres de synchronisation)

android.permission.READ_SYNC_STATS
Permet aux applications de lire les statistiques de synchronisation (Permet aux applications de lire les statistiques de synchronisation)

android.permission.REBOOT
Nécessaire pour pouvoir redémarrer l'appareil (Nécessaire pour pouvoir redémarrer l'appareil. )

android.permission.RECEIVE_BOOT_COMPLETED
Permet à une application de recevoir la broadcast ACTION_BOOT_COMPLETED après que le système ait terminé le démarrage (Permet à une application de recevoir la broadcast ACTION_BOOT_COMPLETED après que le système ait terminé le démarrage. )

android.permission.RECEIVE_MMS
Permet à une application de surveiller les messages MMS reçus, d'enregistrer ou de traiter (Permet à une application de surveiller les messages MMS reçus, d'enregistrer ou de traiter. )

android.permission.RECEIVE_SMS
Permet à une application de surveiller les messages SMS reçus, de les enregistrer ou de les traiter (Permet à une application de surveiller les messages SMS reçus, de les enregistrer ou de les traiter).

android.permission.RECEIVE_WAP_PUSH
Permet à une application de surveiller les messages WAPPUSH reçus (Permet à une application de surveiller les messages WAPPUSH reçus. )

android.permission.RECORD_AUDIO
Permet à une application d'enregistrer de l'audio (Permet à une application d'enregistrer de l'audio).

android.permission.REORDER_TASKS
Permet à une application de modifier l'ordonnancement des tâches sur l'axe Z (Permet à une application de modifier l'ordonnancement des tâches sur l'axe Z)-order of tasks)

android.permission.RESTART_PACKAGES
Permet à une application de redémarrer d'autres applications (Permet à une application de redémarrer d'autres applications).

android.permission.SEND_SMS
Permet à une application d'envoyer des messages SMS (Permet à une application d'envoyer des messages SMS).

android.permission.SET_ACTIVITY_WATCHER
Permet à une application de surveiller ou de contrôler la manière dont les activités sont démarrées globalement dans le système (Permet à une application de surveiller ou de contrôler la manière dont les activités sont démarrées globalement dans le système).

android.permission.SET_ALWAYS_FINISH
Permet à une application de contrôler si les activités sont immédiatement terminées lorsque mises en arrière-plan (Permet à une application de contrôler si les activités sont immédiatement terminées lorsque mises en arrière-plan).

android.permission.SET_ANIMATION_SCALE
Modifier le facteur de proportion de l'animation globale. )

android.permission.SET_DEBUG_APP
Configurer une application pour le débogage. )

android.permission.SET_ORIENTATION
Permet un accès de bas niveau à la définition de l'orientation et de la rotation réelle de l'écran. )-Accès de niveau bas à la définition de l'orientation (en réalité, la rotation) de l'écran. )

android.permission.SET_PREFERRED_APPLICATIONS
Permet à une application de modifier la liste des applications préférées avec les méthodes PackageManager.addPackageToPreferred() et PackageManager.removePackageFromPreferred(). (Permet à une application de modifier la liste des applications préférées avec les méthodes PackageManager.addPackageToPreferred() et PackageManager.removePackageFromPreferred(). )

android.permission.SET_PROCESS_FOREGROUND
Permet à une application de forcer tout processus en cours d'exécution à être en premier plan (Permet à une application de forcer tout processus en cours d'exécution à être en premier plan. )

android.permission.SET_PROCESS_LIMIT
Permet de définir le nombre maximal de processus d'exécution (Permet à une application de définir le nombre maximal de processus (non nécessaires) qui peuvent être en cours d'exécution. )

android.permission.SET_TIME_ZONE
Permet aux applications de définir la zone horaire de l'heure système.

android.permission.SET_WALLPAPER
Permet aux applications de définir le fond d'écran.

android.permission.SET_WALLPAPER_HINTS
Permet aux applications de définir des indices pour le fond d'écran.

android.permission.SIGNAL_PERSISTENT_PROCESSES
Permet à une application de demander que des signaux soient envoyés à tous les processus persistants.

android.permission.STATUS_BAR
Permet à une application d'ouvrir, fermer ou désactiver la barre d'état et ses icônes.

android.permission.SUBSCRIBED_FEEDS_READ
Permet à une application d'autoriser l'accès au fournisseur de contenu des flux RSS abonnés.

android.permission.SUBSCRIBED_FEEDS_WRITE
Le système conserve temporairement ce réglage, le site Android Development Network pense que cette fonction sera ajoutée dans les versions futures.

android.permission.SYSTEM_ALERT_WINDOW
Permet à une application d'ouvrir des fenêtres utilisant le type TYPE_SYSTEM_ALERT, affichées au-dessus de toutes les autres applications.

android.permission.VIBRATE
Permet d'accéder à l'appareil de vibration (Permet d'accéder à l'appareil de vibration)

android.permission.WAKE_LOCK
Permet d'utiliser les WakeLocks de PowerManager pour maintenir un processus visible lorsque l'écran disparaît (Permet d'utiliser les WakeLocks de PowerManager pour maintenir un processus visible lorsque l'écran disparaît)
du processeur de s'endormir ou de l'écran de s'assombrir)

android.permission.WRITE_APN_SETTINGS
Permet aux applications d'écrire les paramètres APN (Permet aux applications d'écrire les paramètres APN)

android.permission.WRITE_CALENDAR
Permet à une application d'écrire mais pas de lire les données du calendrier de l'utilisateur (Permet à une application d'écrire (mais pas de lire) les données du calendrier de l'utilisateur. )

android.permission.WRITE_CONTACTS
Permet à une application d'écrire mais pas de lire les données des contacts de l'utilisateur (Permet à une application d'écrire (mais pas de lire) les données des contacts de l'utilisateur. )

android.permission.WRITE_GSERVICES
Permet à une application de modifier la carte des services Google (Permet à une application de modifier la carte des services Google. )

android.permission.WRITE_OWNER_DATA
Permet à une application d'écrire mais pas de lire les données du propriétaire (Permet à une application d'écrire (mais pas de lire) les données du propriétaire. )

android.permission.WRITE_SETTINGS
Permet à une application de lire ou d'écrire les paramètres système (Permet à une application de lire ou d'écrire les paramètres système. )

android.permission.WRITE_SMS
Permet à l'application d'écrire des SMS (Permet à une application d'écrire des messages SMS)

android.permission.WRITE_SYNC_SETTINGS
Permet à l'application d'écrire les paramètres de synchronisation (Permet aux applications d'écrire les paramètres de synchronisation)

PS : Pour les propriétés fonctionnelles du fichier AndroidManifest.xml, vous pouvez consulter les outils en ligne de ce site :

大全 des fonctionnalités et des permissions de AndroidManifest :
http://tools.jb51.net/table/AndroidManifest

Pour ceux qui sont intéressés par plus de contenu sur Android, vous pouvez consulter les thèmes spéciaux de ce site : 'Introduction et tutoriel avancé de développement Android', 'Conseils de débogage et méthodes de résolution des problèmes courants de développement Android', 'Résume des techniques d'opération multimédia Android (audio, vidéo, enregistrement, etc.)', 'Résume des méthodes d'utilisation des composants de base Android', 'Résume des techniques de vue View Android', 'Résume des techniques de layout Android', et 'Résume des méthodes d'utilisation des contrôles Android'.

J'espère que ce qui est décrit dans cet article aidera les développeurs Android.

Déclaration : Le contenu de cet article est issu du réseau, propriété des auteurs respectifs, contribué et téléversé par les utilisateurs d'Internet, ce site n'en possède pas la propriété, n'a pas été traité par l'éditeur humain et n'assume pas la responsabilité des responsabilités juridiques pertinentes. Si vous trouvez du contenu présumé enfreindre les droits d'auteur, vous êtes invité à envoyer un e-mail à : notice#oldtoolbag.com (veuillez remplacer # par @ lors de l'envoi d'un e-mail pour signaler une violation, et fournir des preuves pertinentes. Une fois vérifié, ce site supprimera immédiatement le contenu présumé enfreindre les droits d'auteur.)

Vous pourriez aussi aimer