• uses-permission和uses-feature


    uses-permission

    Android的权限在AndroidManifest.xml文件里配置。AndroidManifest文件中有四个标签与permission有关,他们分别是

    <permission><permission-group><permission-tree><uses-permission>。

    其中最常用的是<uses-permisson>

    当我们需要获取某个权限的时候,就必须在我们manifest文件中声明<users-permission>

    <psermission>和<uses-permission>的作用相似,两者之间的不同之处,<uses-permission>是android预定义的权限,<permission>是自己定义的权限。

    <permission>用得相对较少,<permission-group><permission-tree>这两个标签用的就更少了。简单说<permission-group>就是声明一个标签,该标签代表了一组permission,而<permission-tree>是为一组permissions声明了一个namespace。
    uses-permission>是我们用的最多的,官方文档定义方式如下:

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

    程序代码:

    android.permission.WRITE_EXTERNAL_STORAGE允许程序写入外部存储,如SD卡上写文件

    android.permission.VIBRATE允许程序振动

    android.permission.CAMERA允许程序访问摄像头进行拍照 

    android.permission.SEND_SMS允许程序发送短信

    android.permission.RECEIVE_SMS允许程序接收短信

    android.permission.RECEIVE_MMS允许程序接收彩信

    android.permission.READ_SMS允许程序读取短信内容

    android.permission.FLASHLIGHT允许访问闪光灯

    android.permission.CHANGE_WIFI_STATE允许程序改变WiFi状态

    android.permission.BLUETOOTH_ADMIN允许程序进行发现和配对新的蓝牙设备

    android.permission.BLUETOOTH允许程序连接配对过的蓝牙设备

    android.permission.ACCESS_WIFI_STATE允许程序获取当前WiFi接入的状态以及WLAN热点的信息

    android.permission.ACCESS_NETWORK_STATE允许程序获取网络信息状态,如当前的网络连接是否有效

    android.permission.ACCESS_LOCATION_EXTRA_COMMANDS允许程序访问额外的定位提供者指令

    android.permission.ACCESS_FINE_LOCATION允许程序通过GPS芯片接收卫星的定位信息

    android.permission.ACCESS_COARSE_LOCATION允许程序通过WiFi或移动基站的方式获取用户错略的经纬度信息
    ————————————————
    参考:https://blog.csdn.net/lxm20819/article/details/88869871

    uses-feature

    在android的manifest文件:AndroidManifest.xml中,

    有个:uses-feature这个xml节点。

    用于指定android程序,是否需要某种硬件或软件资源/功能。

    uses-feature的语法

    <uses-feature
      android:name="string"
      android:required=["true" | "false"]
      android:glEsVersion="integer" /

    android:name    硬件或软件资源的名字。

    硬件方面的:

       摄像头:android.hardware.camera

    •  各种传感器:
      • 加速计: android.hardware.sensor.accelerometer
      • 气压计:    android.hardware.sensor.barometer
      • 指南针:    android.hardware.sensor.compass
      • 陀螺仪:    android.hardware.sensor.gyroscope
      • 感光:  android.hardware.sensor.light
      • 近距离感测:  android.hardware.sensor.proximity
    • 麦克风:   android.hardware.microphone
    • 定位:    android.hardware.location
    •     USB:
      • USB Host:  android.hardware.usb.host
    • WIFI:android.hardware.wifi
    • 蓝牙:android.hardware.bluetooth

    软件方面的:

    • Bluetooth Low Energy:android.software.bluetooth_le
    • VOIP:android.software.sip.voip

    uses-feature,只是起到指示性的作用,不是强制的检测

    android:required

    • android: required="true" :表示需要设备具有某个功能。
      • 如果设备没有该功能,则程序不工作,就是可以理解的
    • android:required="false" :表示希望设备,最好具有某个功能
      • 设备即使没有该功能,程序也应该可以正常工作

    如果不指定,默认为true:     android: required="true"

     

    ————————————————
    参考:https://blog.csdn.net/hanfengzqh/article/details/76876428

    ————————————————————————————————————————————————————————————————————————————————————

    Android Manifest 中 uses-feature 和 uses-permission的作用 关系和区别

    Manifest中的 <uses-permission android:name="android.permission.CAMERA" /><uses-feature android:name="android.hardware.camera" android:required=false />到底什么关系?
    其实,他们俩一个负责描述 app 会用到什么功能,一个负责向系统请求 app 所需要的权限,它们经常会搭配在一起使用。开发者应该根据自己的实际需求来使用对应的标签。
    uses-feature 的作用更像是一个过滤器,google play 商店会根据该标签来过滤设备,比如用户在 uses-feature 中声明了要使用相机,这时候在 google play 商店中该 app 就不再对没有照相机的设备显示。但是,如果用户同时也设置了 uses-feature 的属性 android:required 为 false 的话,google play 商店仍然会对没有照相机的设备显示该 app。
    uses-permission 则像是一个权限助手,帮助 app 去向用户请求 app 需要使用的权限。

    摘自:https://www.cnblogs.com/ichenwin/p/10992362.html

  • 相关阅读:
    hihocoder 1038
    hihocoder 1039
    poj 2774
    bzoj 4690&&4602
    poj 2417
    STL
    poj 1026
    poj 1064
    poj 1861(prim)
    poj 1129
  • 原文地址:https://www.cnblogs.com/xtxt1127/p/12370603.html
Copyright © 2020-2023  润新知