web-dev-qa-db-fra.com

uses-permission vs permission pour Android permissions dans le fichier manifest.xml

J'ai remarqué qu'il y a deux types d'autorisations dans le fichier manifeste, "permission" et "uses-permission" comme les deux ci-dessous;

 <permission Android:name="Android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />

 <uses-permission Android:name="Android.permission.WRITE_EXTERNAL_STORAGE" />

pour les 4 autorisations suivantes, que dois-je utiliser lorsque je les place dans mon fichier manifest.xml? uses-permissions ou permissions?

Android.permission.ACCESS_NETWORK_STATE

Android.permission.ACCESS_WIFI_STATE

Android.permission.INTERNET

Android.permission.CHANGE_WIFI_MULTICAST_STATE
52
Kevik

For

<permission>

documentation indique:

Déclare une autorisation de sécurité qui peut être utilisée pour limiter l'accès à des composants ou fonctionnalités spécifiques de cette application ou d'autres applications.

Par conséquent, puisque vous accédez aux autorisations d'Android, vous voulez uses-permission au lieu. La documentation de cet élément indique:

Demande une autorisation pour que l'application soit accordée afin qu'elle fonctionne correctement.

<permission> est normalement utilisé lors de la création d'une autorisation personnalisée (par exemple, lors de la création d'une application à laquelle d'autres applications peuvent être liées, la limitation de l'accès est un must), et <uses-permission> est utilisé lorsque votre application a réellement besoin d'une autorisation qu'elle n'a pas normalement.

63
A--C

Commençons par "uses-permission ...": supposons que vous souhaitiez utiliser GoogleMap dans votre application comme exemple pour trouver l'emplacement le plus proche de n'importe quel bureau tel qu'une banque ou tout autre bureau. Vous avez besoin d'Internet. Vous devez donc donner l'autorisation à votre appareil Android pour accéder à INTERNET. Cela se fait en utilisant Android permission appelée.

 <uses-permission Android:name="Android.permission.INTERNET" />  

Maintenant, venez à "permission ..": ce qu'il fait est-il Déclare une autorisation de sécurité qui peut être utilisée pour limiter l'accès à des composants ou fonctionnalités spécifiques de cette application ou d'autres applications. Si votre application a besoin de ressources ou d'une fonctionnalité d'une autre application, vous peut utiliser en donnant la classe ou le package spécifique.

   <permission Android:name="com.example.project.DEBIT_ACCT" . . . />

Merci. pour plus d'informations, vous pouvez lire
http://developer.Android.com/guide/topics/manifest/manifest-intro.html

27
Omar Faroque Anik

En bref, celle dont vous aviez besoin est l'instruction uses-permission.

Document Androird a maintenant une page dédiée discutant de ces deux usages.

Dans la partie Utilisation des autorisations , il explique que

<manifest xmlns:Android="http://schemas.Android.com/apk/res/Android"
    package="com.Android.app.myapp" >
    <uses-permission Android:name="Android.permission.RECEIVE_SMS" />
    ...
</manifest>

est utilisé pour déclarer les autorisations que vous souhaitez utiliser.

Dans Définition et application des autorisations , vous pouvez voir que

<manifest xmlns:Android="http://schemas.Android.com/apk/res/Android"
    package="com.me.app.myapp" >
    <permission Android:name="com.me.app.myapp.permission.DEADLY_ACTIVITY"
        Android:label="@string/permlab_deadlyActivity"
        Android:description="@string/permdesc_deadlyActivity"
        Android:permissionGroup="Android.permission-group.COST_MONEY"
        Android:protectionLevel="dangerous" />
    ...
</manifest>

est utilisé pour définir votre propre autorisation.

5
Teng-pao Yu

En termes simples,

<uses-permission> spécifie les autorisations dont votre application a besoin pour accéder à certains composants restreints par une autre application propriétaire de ce composant.

<permission> spécifie que les restrictions que vous placez sur vos composants sont le propriétaire du composant.

0
iammrmehul