本文显示Android的权限大全和动态使用Android权限方法
一.权限大全
常用权限 | ||
访问网络 | android.permission.INTERNET | |
写入外部存储 | android.permission.WRITE_EXTERNAL_STORAGE | |
获取网络状态 | android.permission.ACCESS_NETWORK_STATE | |
拨打电话 | android.permission.CALL_PHONE | |
拍照权限 | android.permission.CAMERA | |
读取电话状态 | android.permission.READ_PHONE_STATE | |
读取短信内容 | android.permission.READ_SMS | |
写入联系人 | android.permission.WRITE_CONTACTS | |
设置屏幕方向 | android.permission.SET_ORIENTATION | |
其他权限 | ||
访问登记属性 | android.permission.ACCESS_CHECKIN_PROPERTIES | |
获取精确位置 | android.permission.ACCESS_FINE_LOCATION | |
访问定位额外命令 | android.permission.ACCESS_LOCATION_EXTRA_COMMANDS | |
获取模拟定位信息 | android.permission.ACCESS_MOCK_LOCATION | |
访问 | android.permission.ACCESS_SURFACE_FLINGER | |
获取WiFi状态 | android.permission.ACCESS_WIFI_STATE | |
账户管理 | android.permission.ACCOUNT_MANAGER | |
验证账户 | android.permission.AUTHENTICATE_ACCOUNTS | |
电量统计 | android.permission.BATTERY_STATS | |
绑定小插件 | android.permission.BIND_APPWIDGET | |
绑定设备管理 | android.permission.BIND_DEVICE_ADMIN | |
绑定输入法 | android.permission.BIND_INPUT_METHOD | |
绑定RemoteView | android.permission.BIND_REMOTEVIEWS | |
绑定壁纸 | android.permission.BIND_WALLPAPER | |
使用蓝牙 | android.permission.BLUETOOTH | |
蓝牙管理 | android.permission.BLUETOOTH_ADMIN | |
变成砖头 | android.permission.BRICK | |
应用删除时广播 | android.permission.BROADCAST_PACKAGE_REMOVED | |
收到短信时广播 | android.permission.BROADCAST_SMS | |
连续广播 | android.permission.BROADCAST_STICKY | |
WAP PUSH广播 | android.permission.BROADCAST_WAP_PUSH | |
通话权限 | android.permission.CALL_PRIVILEGED | |
改变组件状态 | android.permission.CHANGE_COMPONENT_ENABLED_STATE | |
改变配置 | android.permission.CHANGE_CONFIGURATION | |
改变网络状态 | android.permission.CHANGE_NETWORK_STATE | |
改变WiFi多播状态 | android.permission.CHANGE_WIFI_MULTICAST_STATE | |
改变WiFi状态 | android.permission.CHANGE_WIFI_STATE | |
清除应用缓存 | android.permission.CLEAR_APP_CACHE | |
清除用户数据 | android.permission.CLEAR_APP_USER_DATA | |
底层访问权限 | android.permission.CWJ_GROUP | |
手机优化大师扩展权限 | android.permission.CELL_PHONE_MASTER_EX | |
控制定位更新 | android.permission.CONTROL_LOCATION_UPDATES | |
删除缓存文件 | android.permission.DELETE_CACHE_FILES | |
删除应用 | android.permission.DELETE_PACKAGES | |
电源管理 | android.permission.DEVICE_POWER | |
应用诊断 | android.permission.DIAGNOSTIC | |
禁用键盘锁 | android.permission.DISABLE_KEYGUARD | |
转存系统信息 | android.permission.DUMP | |
状态栏控制 | android.permission.EXPAND_STATUS_BAR | |
工厂测试模式 | android.permission.FACTORY_TEST | |
使用闪光灯 | android.permission.FLASHLIGHT | |
强制后退 | android.permission.FORCE_BACK | |
访问账户Gmail列表 | android.permission.GET_ACCOUNTS | |
获取应用大小 | android.permission.GET_PACKAGE_SIZE | |
获取任务信息 | android.permission.GET_TASKS | |
允许全局搜索 | android.permission.GLOBAL_SEARCH | |
硬件测试 | android.permission.HARDWARE_TEST | |
注射事件 | android.permission.INJECT_EVENTS | |
安装定位提供 | android.permission.INSTALL_LOCATION_PROVIDER | |
安装应用程序 | android.permission.INSTALL_PACKAGES | |
内部系统窗口 | android.permission.INTERNAL_SYSTEM_WINDOW | |
结束后台进程 | android.permission.KILL_BACKGROUND_PROCESSES | |
管理账户 | android.permission.MANAGE_ACCOUNTS | |
管理程序引用 | android.permission.MANAGE_APP_TOKENS | |
高级权限 | android.permission.MTWEAK_USER | |
社区权限 | android.permission.MTWEAK_FORUM | |
软格式化 | android.permission.MASTER_CLEAR | |
修改声音设置 | android.permission.MODIFY_AUDIO_SETTINGS | |
修改电话状态 | android.permission.MODIFY_PHONE_STATE | |
格式化文件系统 | android.permission.MOUNT_FORMAT_FILESYSTEMS | |
挂载文件系统 | android.permission.MOUNT_UNMOUNT_FILESYSTEMS | |
允许NFC通讯 | android.permission.NFC | |
永久Activity | android.permission.PERSISTENT_ACTIVITY | |
处理拨出电话 | android.permission.PROCESS_OUTGOING_CALLS | |
读取日程提醒 | android.permission.READ_CALENDAR | |
读取联系人 | android.permission.READ_CONTACTS | |
屏幕截图 | android.permission.READ_FRAME_BUFFER | |
读取收藏夹和历史记录 | com.android.browser.permission.READ_HISTORY_BOOKMARKS | |
读取输入状态 | android.permission.READ_INPUT_STATE | |
读取系统日志 | android.permission.READ_LOGS | |
读取同步设置 | android.permission.READ_SYNC_SETTINGS | |
读取同步状态 | android.permission.READ_SYNC_STATS | |
重启设备 | android.permission.REBOOT | |
开机自动允许 | android.permission.RECEIVE_BOOT_COMPLETED | |
接收彩信 | android.permission.RECEIVE_MMS | |
接收短信 | android.permission.RECEIVE_SMS | |
接收Wap Push | android.permission.RECEIVE_WAP_PUSH | |
录音 | android.permission.RECORD_AUDIO | |
排序系统任务 | android.permission.REORDER_TASKS | |
结束系统任务 | android.permission.RESTART_PACKAGES | |
发送短信 | android.permission.SEND_SMS | |
设置Activity观察其 | android.permission.SET_ACTIVITY_WATCHER | |
设置闹铃提醒 | com.android.alarm.permission.SET_ALARM | |
设置总是退出 | android.permission.SET_ALWAYS_FINISH | |
设置动画缩放 | android.permission.SET_ANIMATION_SCALE | |
设置调试程序 | android.permission.SET_DEBUG_APP | |
设置应用参数 | android.permission.SET_PREFERRED_APPLICATIONS | |
设置进程限制 | android.permission.SET_PROCESS_LIMIT | |
设置系统时间 | android.permission.SET_TIME | |
设置系统时区 | android.permission.SET_TIME_ZONE | |
设置桌面壁纸 | android.permission.SET_WALLPAPER | |
设置壁纸建议 | android.permission.SET_WALLPAPER_HINTS | |
发送永久进程信号 | android.permission.SIGNAL_PERSISTENT_PROCESSES | |
状态栏控制 | android.permission.STATUS_BAR | |
访问订阅内容 | android.permission.SUBSCRIBED_FEEDS_READ | |
写入订阅内容 | android.permission.SUBSCRIBED_FEEDS_WRITE | |
显示系统窗口 | android.permission.SYSTEM_ALERT_WINDOW | |
更新设备状态 | android.permission.UPDATE_DEVICE_STATS | |
使用证书 | android.permission.USE_CREDENTIALS | |
使用SIP视频 | android.permission.USE_SIP | |
使用振动 | android.permission.VIBRATE | |
唤醒锁定 | android.permission.WAKE_LOCK | |
写入GPRS接入点设置 | android.permission.WRITE_APN_SETTINGS | |
写入日程提醒 | android.permission.WRITE_CALENDAR | |
写入Google地图数据 | android.permission.WRITE_GSERVICES | |
写入收藏夹和历史记录 | com.android.browser.permission.WRITE_HISTORY_BOOKMARKS | |
读写系统敏感设置 | android.permission.WRITE_SECURE_SETTINGS | |
读写系统设置 | android.permission.WRITE_SETTINGS | |
编写短信 | android.permission.WRITE_SMS | |
写入在线同步设置 | android.permission.WRITE_SYNC_SETTINGS |
二.动态权限请求方法
动态权限请求时,会弹出一个系统提示的窗口。
动态请求手机权限,在Android6.0以上的手机才有,低版本的手机是不用设置,低版本的手机只要在程序中AndroidManifest中设置一下就可以获得权限了,
但是高版本手机必须要用户动态同意后,程序才能获得对应的权限。
这里展示动态请求相机的权限的示例代码:
这里 open(holder);是打开一个照相机功能的自定义方法;不做展示;
//6.0才用动态权限
if (Build.VERSION.SDK_INT >= 23) {
//Manifest.permission.CAMERA
if (checkSelfPermission(Manifest.permission.CAMERA) != PERMISSION_GRANTED) {
//申请权限
requestPermissions(new String[]{Manifest.permission.CAMERA}, 100);
} else {
open(holder);} else {//低版本手机,直接打开相机
;
}
//请求权限后的回调方法
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
//如果用户同意了我的权限
if (requestCode == 100 && grantResults[0] == PERMISSION_GRANTED) {
open(holder);//打开照相机
}//否则什么都不做
}
这里还是要在AndroidManifest中写入照相机的请求权限,才能够对高低版本的手机都兼容:
<uses-permission android:name="android.permission.CAMERA" />
如果是动态请求其他的权限,就把语句Manifest.permission.CAMERA的CAMERA改成对应的关键字就可以了。