在manifest.xml文件中使用权限与android权限的权限

Kev*_*vik 53 permissions android manifest

我注意到清单文件中有两种类型的权限,"权限"和"使用权限",如下所示;

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

 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
Run Code Online (Sandbox Code Playgroud)

对于我将它们放在manifest.xml文件中时使用的以下4个权限?uses-permissions还是permissions

android.permission.ACCESS_NETWORK_STATE

android.permission.ACCESS_WIFI_STATE

android.permission.INTERNET

android.permission.CHANGE_WIFI_MULTICAST_STATE
Run Code Online (Sandbox Code Playgroud)

A--*_*--C 65

对于

<permission>
Run Code Online (Sandbox Code Playgroud)

文件规定:

声明一个安全权限,可用于限制对此应用程序或其他应用程序的特定组件或功能的访问.

因此,由于您正在访问Android的权限,因此您需要uses-permission.该元素的文档说明:

请求必须授予应用程序以使其正常运行的权限.

<permission>通常在制作自定义权限时使用(例如,当制作其他应用可以绑定的应用时,限制访问是必须的),并且<uses-permission>在您的应用实际需要其通常没有的权限时使用.


Oma*_*nik 27

让我们从"使用权限..."开始:假设您想在您的应用程序中使用GoogleMap作为示例,以查找任何办公室的最近位置,例如银行或任何其他办公室.你需要上网.因此,您需要授予您的Android设备访问INTERNET的权限.这是通过使用被调用的android权限来完成的.

 <uses-permission android:name="android.permission.INTERNET" />  
Run Code Online (Sandbox Code Playgroud)

现在来到"权限..":它的作用是声明一个安全权限,可以用来限制对这个或其他应用程序的特定组件或功能的访问.如果你的应用程序需要一些资源或其他应用程序的某些功能,你可以通过给出特定的类或包来使用.

   <permission android:name="com.example.project.DEBIT_ACCT" . . . />
Run Code Online (Sandbox Code Playgroud)

谢谢.有关更多信息,请阅读
http://developer.android.com/guide/topics/manifest/manifest-intro.html


Ten*_* Yu 5

简而言之,您需要的是uses-permission语句.

Androird Document现在有一个专门的页面讨论这两种用法.

在" 使用权限"部分中,它解释了这一点

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.android.app.myapp" >
    <uses-permission android:name="android.permission.RECEIVE_SMS" />
    ...
</manifest>
Run Code Online (Sandbox Code Playgroud)

用于声明您要使用的权限.

定义和执行权限时,您可以看到

<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>
Run Code Online (Sandbox Code Playgroud)

用于定义您自己的权限.