Android 6.0新特性:权限

6.0之前是install time permissions model,6.0之后取是runtime permissions model。

后者在安装的时候会跟用户显示所需要的权限,并在app运行的时候去申请权限。

Android将系统权限分成了四个保护等级normal,dangerous,signature,signatureOrSystem。

最常见的是normal permissiondangerous permission两类。

Normal permission:这类权限可以在app安装期间被默认赋予

  1. android.permission.ACCESS_LOCATION_EXTRA_COMMANDS
  2. android.permission.ACCESS_NETWORK_STATE
  3. android.permission.ACCESS_NOTIFICATION_POLICY
  4. android.permission.ACCESS_WIFI_STATE
  5. android.permission.ACCESS_WIMAX_STATE
  6. android.permission.BLUETOOTH
  7. android.permission.BLUETOOTH_ADMIN
  8. android.permission.BROADCAST_STICKY
  9. android.permission.CHANGE_NETWORK_STATE
  10. android.permission.CHANGE_WIFI_MULTICAST_STATE
  11. android.permission.CHANGE_WIFI_STATE
  12. android.permission.CHANGE_WIMAX_STATE
  13. android.permission.DISABLE_KEYGUARD
  14. android.permission.EXPAND_STATUS_BAR
  15. android.permission.FLASHLIGHT
  16. android.permission.GET_ACCOUNTS
  17. android.permission.GET_PACKAGE_SIZE
  18. android.permission.INTERNET
  19. android.permission.KILL_BACKGROUND_PROCESSES
  20. android.permission.MODIFY_AUDIO_SETTINGS
  21. android.permission.NFC
  22. android.permission.READ_SYNC_SETTINGS
  23. android.permission.READ_SYNC_STATS
  24. android.permission.RECEIVE_BOOT_COMPLETED
  25. android.permission.REORDER_TASKS
  26. android.permission.REQUEST_INSTALL_PACKAGES
  27. android.permission.SET_TIME_ZONE
  28. android.permission.SET_WALLPAPER
  29. android.permission.SET_WALLPAPER_HINTS
  30. android.permission.SUBSCRIBED_FEEDS_READ
  31. android.permission.TRANSMIT_IR
  32. android.permission.USE_FINGERPRINT
  33. android.permission.VIBRATE
  34. android.permission.WAKE_LOCK
  35. android.permission.WRITE_SYNC_SETTINGS
  36. com.android.alarm.permission.SET_ALARM
  37. com.android.launcher.permission.INSTALL_SHORTCUT
  38. com.android.launcher.permission.UNINSTALL_SHORTCUT

dangerous permission:这类权限必须在运行的时候申请

  1. CALENDAR:READ_CALENDAR;WRITE_CALENDAR
  2. CAMERA:CAMERA
  3. CONTACTS:READ_CONTACTS;WRITE_CONTACTS;GET_ACCOUNTS
  4. LOCATION:ACCESS_FINE_LOCATION;ACCESS_COARSE_LOCATION
  5. MICROPHONE:RECORD_AUDIO
  6. PHONE:READ_PHONE_STATE;CALL_PHONE;READ_CALL_LOG;WRITE_CALL_LOG;ADD_VOICEMAIL;USE_SIP;PROCESS_OUTGOING_CALLS
  7. SENSORS:BODY_SENSORS
  8. SMS:SEND_SMS;RECEIVE_SMS;READ_SMS;RECEIVE_WAP_PUSH;RECEIVE_MMS
  9. STORAGE:READ_EXTERNAL_STORAGE;WRITE_EXTERNAL_STORAGE

API23检查和请求权限的方法是:checkSelfPermissionrequestPermissions(API23)

流程是:先检查有没有权限,如果有直接调用,如果没有,则请求权限,接下来

论用户同意还是拒绝,activity的onRequestPermissionsResult会被回调来通知结果(通过第三个参数)。

如果用户第一次拒绝权限,下次requestPermissions的时候使用shouldShowRequestPermissionRationale来跟用户解释。

权限的第三方框架https://github.com/hotchemi/PermissionsDispatcher

参考:

android 6.0权限:http://www.cnblogs.com/zqlxtt/p/4873831.html

泡网上的解释:http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2015/0830/3387.html

来自为知笔记(Wiz)

时间: 2024-11-08 14:22:04

Android 6.0新特性:权限的相关文章

Android 8.0新特性介绍以及注意事项

2017年8月22日,谷歌正式发布了Android 8.0的正式版,其正式名称为:Android Oreo(奥利奥) .在此之前 临时代号叫: Android O.对应Api level 为26. 2017年12月5日 , 谷歌正式发布了Android 8.1的正式版.对应的Api Level 为27 . Powerful 强大       Secure 安全              Fast 流畅            Smart&seamiess  轻巧&无缝 Android 8.0

android 7.0 新特性 和对开发者的影响

android 7.0新特性 - jiabailong的专栏 - 博客频道 - CSDN.NEThttp://blog.csdn.net/jiabailong/article/details/52411300 android 7.0对开发者会有哪些影响 - jiabailong的专栏 - 博客频道 - CSDN.NEThttp://blog.csdn.net/jiabailong/article/details/52411353 android 7.0 多窗口及新特性demo - jiabail

开发者必看|Android 8.0 新特性及开发指南

背景介绍 谷歌2017 I/O开发者大会今年将于5月17-19日在美国加州举办.大会将跟往年一样发布最新的 Android 系统,今年为 Android 8.0.谷歌在今年3 月21日发布 Android 新系统开发者预览版时已给新系统取名为 Android O.自2008 年发布以来, Android 依靠 Google 的生态运作,全球市场份额在2016年底已超过85% .而近几年依靠 Android 发展起来的智能手机厂商不断增加, Android 生态大家庭也正在不断壮大. Androi

android 5.0新特性

Android Lollipop 面向开发者的主要功能 Material Design 设计 注重性能 通知 以大屏幕呈现 以文档为中心 连接性能再上一级 高性能图形 音频处理功能更强 摄像头和视频处理进一步完善 Android 在办公中的应用 屏幕截图和共享 新型传感器 Chromium WebView 辅助功能和输入 构建低电耗应用 欢迎使用 Android 5.0 Lollipop,这是迄今为止规模最大最为雄心勃勃的 Android 版本! 此版本为用户推出了各种崭新的新功能,为开发者则提

Android 6.0 新特性

首先谈一谈Android 6.0的一些新特性 锁屏下语音搜索 指纹识别 更完整的应用权限管理 Doze电量管理 Now onTap App link 在开发过程中与我们关系最密切的就是"更完整的应用权限管理"这个特性了在这里面最重要的就是运行时权限了, 运行时权限 在Android6.0上我们在原有的AndroidManifest.xml声明权限的基础上,又新增了运行时权限动态监测,以下权限都需要在运行时判断 身体传感器 日历 摄像头 通讯录 地理位置 麦克风 电话 短信 存储空间 运

android 5.0新特性CardView教程

CardView 是android5.0新加入的特性,大家先别着急,由于谷歌出了cardview的兼容包,也就是android.support.v7.widget.CardView包,所以在5.0以下的系统也可以运行这个效果.什么是CardView ?就是在View的外面加上一个类似如卡片的阴影,下面放代码. <RelativeLayout android:layout_width="match_parent" android:layout_height="wrap_c

android 5.0 新特性

android 5.0 的新特性 Material Design: Gives you and unexpanded UI toolkit for integrating the new degin patterns easily in your apps New 3D views let you ser a z-level to raise elements off of the view hierarchy and cast reltime shadows ,even ad they mov

Android 9.0新特性

1.全面屏支持,Android P加入了对刘海屏的支持,谷歌称之为凹口屏幕(display with a cutout).借助最新的提供的DisplayCutout类,开发者可以找到非功能区域的位置和形状,而非功能区域是不应显示功能的:使用getDisplayCutout()就可以获取这个区域的详细信息,未来刘海屏手机很有可能成为主流趋势,在前摄像头没有比较好的隐藏方案出现之前,这可能是提高屏占比的好方法. 2.通知栏的多种通知,从牛轧糖开始,你就可以增加一个action以对消息或从通知直接进入

6.0新特性 权限管理方式

http://www.jianshu.com/p/e1ab1a179fbb 而在Android 6.0 Marshmallow中,用户在安装应用时并不需要受到这些提示的骚扰,只有在首次打开.使用过程中实际用到哪些权限才会向收到申请授权的提醒.这一点和现在的iOS非常相像