文章目录
一、前言
嗨,大家好,我是新发。
最近各大应用商店平台开始严格规范应用权限。
具体可以参见工信部发布的通知:《工业和信息化部关于开展纵深推进APP侵害用户权益专项整治行动的通知》
作为开发者,我们需要检测自身应用的权限,一般我们都是因为接入第三方SDK
才引入一些权限的,这里我给大家整理一下各大平台SDK
的权限。
二、Android 危险权限列表
首先,我们先要知道哪些权限是属于危险权限,如下:
权限名 | 权限组 | 解释 |
---|---|---|
ACCEPT_HANDOVER | PHONE(电话组) | 允许呼叫应用继续在另一个应用中启动的呼叫 |
ACCESS_BACKGROUND_LOCATION | LOCATION(定位组) | 允许应用程序在后台访问位置 |
ACCESS_COARSE_LOCATION | LOCATION(定位组) | 允许程序通过WiFi或移动基站的方式获取用户错略的经纬度信息 |
ACCESS_FINE_LOCATION | LOCATION(定位组) | 允许程序通过GPS芯片接收卫星的定位信息 |
ACTIVITY_RECOGNITION | 允许应用程序识别物理活动 | |
ADD_VOICEMAIL | PHONE(电话组) | 允许程序添加语音邮件系统 |
ANSWER_PHONE_CALLS | PHONE(电话组) | 允许程序接听来电 |
BODY_SENSORS | SENSORS(传感器组) | 允许应用程序访问用户用来测量身体内部情况的传感器数据,例如心率 |
CALL_PHONE | PHONE(电话组) | 允许程序从非系统拨号器里拨打电话 |
CAMERA | CAMERA(相机拍照组) | 允许程序访问摄像头进行拍照 |
GET_ACCOUNTS | CONTACTS(联系人组) | 允许程序访问账户Gmail列表 |
PROCESS_OUTGOING_CALLS | PHONE(电话组) | 允许程序监视,修改或放弃播出电话 |
READ_CALENDAR | CALENDAR(日历组) | 允许程序读取用户的日程信息 |
READ_CALL_LOG | PHONE(电话组) | 允许程序读取通话记录 |
READ_CONTACTS | CONTACTS(联系人组) | 允许程序访问联系人通讯录信息 |
READ_PHONE_NUMBERS | PHONE(电话组) | 允许程序读取设备的电话号码 |
READ_PHONE_STATE | PHONE(电话组) | 允许程序访问电话状态 |
READ_SMS | SMS(手机短信服务组) | 允许程序读取短信内容 |
RECEIVE_MMS | SMS(手机短信服务组) | 允许程序接收彩信 |
RECEIVE_SMS | SMS(手机短信服务组) | 允许程序接收短信 |
RECEIVE_WAP_PUSH | SMS(手机短信服务组) | 允许程序接收WAP PUSH信息 |
RECORD_AUDIO | MICROPHONE(麦克风组) | 允许程序录制声音通过手机或耳机的麦克 |
SEND_SMS | SMS(手机短信服务组) | 允许程序发送短信 |
USE_SIP | PHONE(电话组) | 允许程序使用SIP视频服务 |
WRITE_CALENDAR | CALENDAR(日历组) | 允许程序写入日程,但不可读取 |
WRITE_CALL_LOG | PHONE(电话组) | 允许程序写入(但是不能读)用户的联系人数据 |
WRITE_CONTACTS | CONTACTS(联系人组) | 允许程序写入联系人,但不可读取 |
READ_EXTERNAL_STORAGE | STORAGE(存储组) | 允许程序可以读取设备外部存储空间 |
WRITE_EXTERNAL_STORAGE | STORAGE(存储组) | 允许程序写入外部存储,如SD卡上写文件 |
三、各大平台SDK权限
以下列举的Android
权限是根据SDK
的AndroidManifest.xml
来列举的。
1、应用宝(YSDK)
SDK
下载:https://wiki.open.qq.com/index.php?title=YSDK%E4%B8%8B%E8%BD%BD
AndroidManifest.xml
权限:
<!-- 网络请求 -->
<uses-permission android:name="android.permission.INTERNET" />
<!-- 获取设备WIFI连接状态 ,非必要,但建议保留-->
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<!-- 检测网络状态 ,非必要,但建议保留 -->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<!-- 读取日志 ,非必要,但建议保留 -->
<uses-permission android:name="android.permission.READ_LOGS" />
<!-- Midas需要,向SD卡写入文件,非必要权限 -->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<!-- 获取机型信息和运营商信息,非必要权限 -->
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
其中,敏感权限:
<!-- Midas需要,向SD卡写入文件,非必要权限 -->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<!-- 获取机型信息和运营商信息,非必要权限 -->
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
2、微信(wechat)
SDK
下载:https://developers.weixin.qq.com/doc/oplatform/Downloads/Android_Resource.html
AndroidManifest.xml
权限:
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
其中,敏感权限:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
3、支付宝(Alipay)
SDK
下载:https://opendocs.alipay.com/open/54/104509
AndroidManifest.xml
权限:
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
其中,敏感权限:无
4、OPPO
SDK
下载:https://open.oppomobile.com/wiki/doc#id=10470
AndroidManifest.xml
权限:
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
<uses-permission android:name="android.permission.GET_TASKS" />
<uses-permission android:name="android.permission.USE_CREDENTIALS" />
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />
其中,敏感权限:
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
5、VIVO
SDK
下载:https://dev.vivo.com.cn/documentCenter/doc/6
AndroidManifest.xml
权限:
<uses-permission android:name="vivo.game.permission.OPEN_JUMP_INTENTS"/>
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.GET_TASKS"/>
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES"/>
//asus permisstion
<uses-permission android:name="com.asus.msa.SupplementaryDID.ACCESS" />
其中,敏感权限:
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
6、小米
SDK
下载:https://dev.mi.com/console/doc/detail?pId=102
AndroidManifest.xml
权限:
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="com.xiaomi.sdk.permission.PAYMENT" />
<uses-permission android:name="com.xiaomi.permission.AUTH_SERVICE" />
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />
其中,敏感权限:
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
7、华为
AndroidManifest.xml
权限:
<!-- HMS-SDK引导升级HMS功能,访问OTA服务器需要网络权限 -->
<uses-permission android:name="android.permission.INTERNET" />
<!-- 检测网络状态 -->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<!-- Android O版本调用安装需要使用该权限 -->
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />
<!-- 应用市场9.0版本必须使用该权限获取用户的服务地 -->
<uses-permission android:name="com.huawei.appmarket.service.commondata.permission.GET_COMMON_DATA" />
其中,敏感权限:无
8、九游
SDK
下载:https://game.open.uc.cn/document/doc/detail/15
AndroidManifest.xml
权限:
<!-- alipay sdk BEGIN ------------------------------------------>
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<!-- alipay sdk BEGIN ------------------------------------------>
<!-- net-sdk BEGIN ------------------------------------------>
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.GET_TASKS" />
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
<uses-permission android:name="android.permission.AUTHENTICATE_ACCOUNTS" />
<uses-permission android:name="android.permission.USE_CREDENTIALS" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
<!-- 8x新增加 -->
<uses-permission android:name="android.permission.READ_SETTINGS" />
<uses-permission android:name="android.permission.WRITE_CALENDAR" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />
<uses-permission android:name="android.permission.MANAGE_ACCOUNTS" />
<uses-permission android:name="com.android.alarm.permission.SET_ALARM" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<!-- net-sdk END ------------------------------------------>
<!-- ugpsdk-net BEGIN ------------------------------------------>
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<!-- ugpsdk-net END ------------------------------------------>
其中,敏感权限:
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.WRITE_CALENDAR" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
四、服务类SDK
1、Bugly
SDK
下载:https://bugly.qq.com/v2/downloads
AndroidManifest.xml
权限:
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.READ_LOGS" />
其中,敏感权限:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
2、高德地图
SDK
下载:https://lbs.amap.com/api/android-sdk/download/
AndroidManifest.xml
权限:
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.CHANGE_CONFIGURATION" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<!--声明后台定位权限-->
<uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" />
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
其中,敏感权限:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<!--声明后台定位权限-->
<uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" />
3、极光推送
SDK
下载:https://docs.jiguang.cn//jpush/resources/
AndroidManifest.xml
权限:
<!-- Required -->
<permission
android:name="${applicationId}.permission.JPUSH_MESSAGE"
android:protectionLevel="signature" />
<!-- Required 一些系统要求的权限,如访问网络等-->
<uses-permission android:name="${applicationId}.permission.JPUSH_MESSAGE" />
<uses-permission android:name="android.permission.RECEIVE_USER_PRESENT" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<!--华为角标-->
<uses-permission android:name="com.huawei.android.launcher.permission.CHANGE_BADGE"/>
<!-- Optional for location -->
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" /> <!-- 用于开启 debug 版本的应用在6.0 系统上 层叠窗口权限 -->
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" /><!-- Android Q后台定位权限-->
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
<uses-permission android:name="android.permission.GET_TASKS" />
<uses-permission android:name="android.permission.QUERY_ALL_PACKAGES"/>
<!--xiaomi_permission_start-->
<permission
android:name="${applicationId}.permission.MIPUSH_RECEIVE"
android:protectionLevel="signature" />
<uses-permission android:name="${applicationId}.permission.MIPUSH_RECEIVE" />
<!--xiaomi_permission_end-->
<!--oppo_permission_start-->
<uses-permission android:name="com.coloros.mcs.permission.RECIEVE_MCS_MESSAGE" />
<uses-permission android:name="com.heytap.mcs.permission.RECIEVE_MCS_MESSAGE" />
<!--oppo_permission_end-->
其中,敏感权限:
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" /> <!-- Android Q后台定位权限-->
五、结束语
目前先整理这么多,后续有空继续补充。