使用背景
项目想要升级target api > 23
需要动态申请危险权限
项目已有的危险权限,想要查找哪些代码使用了
危险权限
WRITE_EXTERNAL_STORAGE
外部存储写入权限
可以查找Environment.getExternalStorageDirectory(),该方法是获取外部存储的路径,但真正需要权限的是write()方法。
READ_EXTERNAL_STORAGE
外部存储读入权限
可以查找Environment.getExternalStorageDirectory(),该方法是获取外部存储的路径,但真正需要权限的是read()方法。
READ_PHONE_STATE
读取手机的状态
可以通过查找TelephonyManager,
有些方法需要权限,比如getLine1Number(),getSubscriberId(),getDeviceId()...
有些方法不需要,比如getSimOperator(),getNetworkOperator()...
GET_ACCOUNTS
读取gmail的账户名,比如aaa@gmai.com
可以通过查找AccountManager的getAccounts()的方法。
注:Android8.0以上需要额外的处理。
READ_CONTACTS
读取用户的通讯数据,
可以通过查找getContentResolver().query(uri)
其中uri =ContactsContract.Contacts.CONTENT_URI....需要权限
SEND_SMS
发送短信的权限 ,通过查找 SmsManager.sendDataMessage()没有权限会崩溃
陆续更新中...