我注意到清单文件中有两种类型的权限,“权限”和“使用权限”,如下所示;
<permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
我将以下4个权限放在manifest.xml文件中时使用? uses-permissions
或permissions
?
android.permission.ACCESS_NETWORK_STATE
android.permission.ACCESS_WIFI_STATE
android.permission.INTERNET
android.permission.CHANGE_WIFI_MULTICAST_STATE
答案 0 :(得分:62)
对于
<permission>
声明一个安全权限,可用于限制对此应用程序或其他应用程序的特定组件或功能的访问。
因此,由于您要访问Android的权限,因此您需要uses-permission
。该元素的文档说明:
请求必须按顺序授予应用程序的权限 让它正常运作。
<permission>
通常在制作自定义权限时使用(例如,制作其他应用可以绑定的应用时,必须限制访问权限),并且当您的应用实际需要时使用<uses-permission>
它没有正常的许可。
答案 1 :(得分:26)
让我们从“使用权限...”开始:假设您希望在应用程序中使用GoogleMap作为示例,以查找任何办公室的最近位置,例如银行或任何其他办公室。你需要上网。因此,您需要授予您的Android设备访问INTERNET的权限。这是通过使用名为。
的android权限来完成的 <uses-permission android:name="android.permission.INTERNET" />
现在来到“权限..”:它的作用是声明一个安全权限,可以用来限制对这个或其他应用程序的特定组件或功能的访问。如果你的应用程序需要一些资源或其他功能应用程序,您可以通过提供特定的类或包来使用。
<permission android:name="com.example.project.DEBIT_ACCT" . . . />
感谢。有关更多信息,请阅读
http://developer.android.com/guide/topics/manifest/manifest-intro.html
答案 2 :(得分:5)
简而言之,您需要的是使用权限声明。
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>
用于声明您要使用的权限。
在定义和执行权限中,您可以看到
<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>
用于定义您自己的权限。
答案 3 :(得分:0)
用通俗易懂的术语,
<uses-permission>
指定您的应用访问某个组件所需的权限,该权限受该组件所有者的另一个应用的限制。
<permission>
指定对组件施加的限制是组件所有者。