Android 需要动态申请的权限和普通权限

Android将权限分为两类:普通权限、需要动态申请的权限(危险权限)。


1.普通权限:不会直接威胁到用户安全和隐私的权限,只要在AndroidManifest.xml中申请,系统会自动为用户进行授权。

android.permission.ACCESS_LOCATION_EXTRA_COMMANDS <!-- 访问额外的位置提供命令 -->
android.permission.ACCESS_NETWORK_STATE  <!-- 访问网络状态 -->
android.permission.ACCESS_NOTIFICATION_POLICY  <!-- APP通知显示在状态栏 -->
android.permission.ACCESS_WIFI_STATE  <!-- 访问WIFI状态 -->
android.permission.ACCESS_WIMAX_STATE
android.permission.BLUETOOTH <!-- 使用蓝牙 -->
android.permission.BLUETOOTH_ADMIN <!-- 蓝牙管理 -->
android.permission.BROADCAST_STICKY <!-- 连续广播 -->
android.permission.CHANGE_NETWORK_STATE <!-- 改变网络状态 -->
android.permission.CHANGE_WIFI_MULTICAST_STATE <!-- 改变WiFi多播状态 -->
android.permission.CHANGE_WIFI_STATE <!-- 改变WiFi状态 -->
android.permission.CHANGE_WIMAX_STATE
android.permission.DISABLE_KEYGUARD <!-- 允许程序禁用键盘锁 -->
android.permission.EXPAND_STATUS_BAR <!-- 允许程序扩展或收缩状态栏 -->
android.permission.FLASHLIGHT <!-- 允许访问闪光灯 -->
android.permission.GET_ACCOUNTS <!-- 访问GMail账户列表 -->
android.permission.GET_PACKAGE_SIZE <!-- 获取应用的文件大小 -->
android.permission.INTERNET  <!-- 访问网络连接,可能产生GPRS流量 -->
android.permission.KILL_BACKGROUND_PROCESSES  <!-- 允许程序调用 -->
killBackgroundProcesses(String) <!-- 方法结束后台进程 -->
android.permission.MODIFY_AUDIO_SETTINGS  <!-- 修改声音设置信息 -->
android.permission.NFC  <!-- 允许程序执行NFC近距离通讯操作,用于移动支持 -->
android.permission.READ_SYNC_SETTINGS  <!-- 读取同步设置,读取Google在线同步设置 -->
android.permission.READ_SYNC_STATS  <!-- 读取同步状态,获得Google在线同步状态 -->

android.permission.RECEIVE_BOOT_COMPLETED  <!-- 允许程序开机自动运行 -->
android.permission.REORDER_TASKS  <!-- 重新排序系统Z轴运行中的任务 -->
android.permission.REQUEST_INSTALL_PACKAGES
android.permission.SET_TIME_ZONE  <!-- 设置系统时区 -->
android.permission.SET_WALLPAPER  <!-- 设置壁纸建议 -->
android.permission.SET_WALLPAPER_HINTS <!-- 设置壁纸建议发送永久进程信号 -->
android.permission.SUBSCRIBED_FEEDS_READ  <!-- 访问订阅内容 -->
android.permission.TRANSMIT_IR  <!-- 使用红外遥控 -->
android.permission.USE_FINGERPRINT  <!-- 指纹验证 -->
android.permission.VIBRATE  <!-- 使用振动 -->
android.permission.WAKE_LOCK  <!-- 唤醒锁定 -->
android.permission.WRITE_SYNC_SETTINGS <!-- 允许程序读取或写入系统设置 -->
com.android.alarm.permission.SET_ALARM  <!-- 设置闹铃使用 -->
com.android.launcher.permission.INSTALL_SHORTCUT  <!-- 移除快捷方式 -->
com.android.launcher.permission.UNINSTALL_SHORTCUT  <!-- 创建快捷方式 -->


2.需要动态申请的权限(危险权限):可能会触及用户隐私,对设备安全性造成影响的权限,除了要在AndroidManifest.xml中申请,还需要在代码中进行动态权限申请(关于动态申请权限请查看博客Android RxPermissions的使用(简单实用)_ErwinNakajima的博客-CSDN博客_android rxpermissions),让用户手动进行授权。需要动态申请的权限如下:

权限组名权限名
android.permission-group.CALENDARandroid.permission.READ_CALENDAR
android.permission.WRITE_CALENDAR
android.permission-group.CAMERAandroid.permission.CAMERA
android.permission-group.CONTACTSandroid.permission.READ_CONTACTS
android.permission.WRITE_CONTACTS
android.permission.GET_ACCOUNTS
android.permission-group.LOCATIONandroid.permission.ACCESS_FINE_LOCATION
android.permission.ACCESS_COARSE_LOCATION
android.permission-group.MICROPHONEandroid.permission.RECORD_AUDIO
android.permission-group.PHONEandroid.permission.READ_PHONE_STATE
android.permission.CALL_PHONE
android.permission.READ_CALL_LOG
android.permission.WRITE_CALL_LOG
android.permission.ADD_VOICEMAIL
android.permission.USE_SIP
android.permission.PROCESS_OUTGOING_CALLS
android.permission-group.SENSORSandroid.permission.BODY_SENSORS
android.permission-group.SMSandroid.permission.SEND_SMS
android.permission.RECEIVE_SMS
android.permission.READ_SMS
android.permission.RECEIVE_WAP_PUSH
android.permission.RECEIVE_MMS
android.permission-group.STORAGEandroid.permission.READ_EXTERNAL_STORAGE
android.permission.WRITE_EXTERNAL_STORAGE

  • 4
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
安卓设备中,使用蓝牙功能需要先获取蓝牙权限。通常,通过在AndroidManifest.xml文件中添加权限声明来获取蓝牙权限。但是,在安卓6.0以上版本中,为了增强数据保护性和用户隐私,Google更新了权限管理规则,将普通权限和危险权限加以区分,并要求应用程序动态地请求危险权限。 请求蓝牙权限的代码可以如下所示: ``` private static final int REQUEST_ENABLE_BT = 1; private static final int REQUEST_ACCESS_COARSE_LOCATION = 2; BluetoothAdapter mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter(); if(mBluetoothAdapter == null) { Toast.makeText(this, "Device does not support Bluetooth", Toast.LENGTH_SHORT).show(); } else { if(mBluetoothAdapter.isEnabled()) { // Bluetooth is enabled if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { if (ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) { ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.ACCESS_COARSE_LOCATION}, REQUEST_ACCESS_COARSE_LOCATION); } } } else { Intent enableBtIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE); startActivityForResult(enableBtIntent, REQUEST_ENABLE_BT); } } ``` 上述代码会检查设备是否支持蓝牙功能,并检查蓝牙是否已启用。如果蓝牙已开启,代码将请求用户授权允许应用程序检索设备的地理位置信息,用于扫描附近的蓝牙设备。如果用户授予权限,则扫描将启动。如果用户拒绝授予权限,则代码将无法扫描到任何设备。 当然,上述代码仅仅是示例代码,实际情况要根据具体的业务场景和应用需求来实现动态请求蓝牙权限
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值