服务热线
131-1198-7613
(点击上方公众号,可快速关注)
泉源:伯乐在线专栏作者 - dreamist
链接:https://android.jobbole.com/84444/
点击 → 了解奈何到场专栏作者
前言
在android开发中,关于手机权限的获取我们在mainfest中有两个常用的标签,users-feature 和 uses-permission。今日我们来研究以下这两个标签详细的作用,以及它们之间的关系和区别。
底子功能
1. uses-feature
作用:
定义一个该app会用到的硬件或许软件功能。(android 系统提供的可以选择的功能列表参考:Features Reference)。标签的目的是用来描摹该app所依赖的硬件和软件的功能有哪些,并不负责向系统去请求权限,好比说,app用到了相机的功能,用户可以在uses-feature 中定义一个拍照机的功能,可是这个时间app并没有去请求系统赋予该app拍照机权限,想要正常操纵拍照机的话,还须要在uses-permission标签中再去请求拍照机权限(或许在代码中动态地请求权限)
语法:
uses-feature
android:name="string"
android:required=["true"| "false"]
android:glEsVersion="integer"/
属性值含义:
属性|含义
—|—
android:name | app须要定义的功能的名称
android:required | 为ture时表示该功能对于app来说是必需有的,如果某一设备不具备该功能,google play 商店将会对该设备隐蔽该app;为false时表示该功能对于app来说时非必需的,即使某一设备不具备该功能,google play商店仍然会对该设备表示该app
android:glEsVersion | 指定openGL ES的版本号,只针对open GL功能
2. uses-permission
作用:
告诉系统让系统向用户请求指定的权限供该app操纵。
语法:
uses-permission android:name="string"
android:maxSdkVersion="integer"/
属性值含义:
属性|含义
—|—
android:name | app须要请求的权限的名称,可以时一个尺度的系统权限(系统权限),也可以时app自己定义的一个权限,也可以时在此外app中定义的权限
android:maxSdkVersion | 配置须要该权限的app API的最大版本号,因为android额有些权限在较新的版本中没必要再去请求了。
uses-feature 和 uses-permission 的关系和区别
由以上所述,它们两个之间着实没几多关系,一个负责描摹app会用到什么功能,一个负责向系统请求app所须要的权限,它们经常会搭配在一路操纵。开发者应该凭据自己的现实需求来操纵对应的标签。
uses-feature的作用更像是一个过滤器,google play 商店会凭据该标签来过滤设备,好比用户在uses-feature中声大白要操纵相机,这时间在google play商店中该app就不再对没有拍照机的设备表示。可是,如果用户同时也配置了uses-feature的属性android:required 为false的话,google play商店仍然会对没有拍照机的设备表示该app。
uses-permission 则像是一个权限助手,资助app行止用户请求app须要操纵的权限。
一个范例的例子
如果如今须要开发一个app,它是一个聊天的工具,包含给对方发送照片的功能,所以会用到系统的拍照机。可是,该app的紧张功能照旧聊天,就算是在一个没有拍照机的手机上也应该能够让它正常地操纵聊天的功能。
凭据以上的描摹(微信就满足上述的前提),该app的manifest文件中可以这样配置拍照机干系的权限和功能。
manifest xmlns:android="https://schemas.android.com/apk/res/android"
package="com.example.demo"
uses-permission android:name="android.permission.CAMERA"/
uses-feature
android:name="android.hardware.camera"
android:required=false/
/manifest
参考资料:
https://developer.android.com/guide/topics/manifest/uses-feature-element.html
https://developer.android.com/guide/topics/manifest/uses-permission-element.html
https://developer.android.com/guide/topics/security/permissions.html
https://stackoverflow.com/questions/28079449/uses-permission-vs-uses-feature
2024-03-20
网页设计,是根据企业希望向浏览者传递的信息(包括产品、服务、理念、文化),进行网站功能策划,然后进行···
2024-03-19
网页设计,是根据企业希望向浏览者传递的信息(包括产品、服务、理念、文化),进行网站功能策划,然后进行···
2024-03-19
网页设计,是根据企业希望向浏览者传递的信息(包括产品、服务、理念、文化),进行网站功能策划,然后进行···
2024-03-19
网页设计,是根据企业希望向浏览者传递的信息(包括产品、服务、理念、文化),进行网站功能策划,然后进行···