Android 6.0新特性

  • Runtime Permissions
  • Doze and App Standby
  • Apache HTTP Client Removal
  • BoringSSL
  • Access to Hardware Identifiers
  • Notifications
  • AudioManager Changes
  • Text Selection
  • Browser Bookmark Changes
  • Android Keystore Changes
  • Wi-Fi and Networking Changes
  • Camera Service Changes
  • Runtime
  • APK Validation
  • USB Connection
  • Android for Work Changes

运行时权限-Runtime Permissions

引入了新的权限模型
6.0之前的版本中,关于权限部分的管理,是在APP安装的时候,出现一个权限的列表,同意则继续安装,之后的使用过程中无法重现的去修改权限--不利于用户体验啊
其实现在很多的ROM厂家都已经创建了自己的权限管理的APP,就比如我手里面这个魅族手机中的手机管家,里面就有对每个APP权限的管理。某种意义上也是市场的需求。
现在6.0的版本中,增加了这一功能。具体的细节如下。
主要分两类:normal permission 和 dangerous permission

  • normal permission:不涉及用户隐私,不需要用户进行授权的
  • dangerous permission:涉及用户隐私的,需要用户授权

相关的API

检查权限:
public int checkSelfPermission(String permission)
activity中直接调用,有返回值,int类型
分别对应:
PackageManager.PERMISSION_GRANTED
PackageManager.PERMISSION_DENIED

申请授权
public final void requestPermissions(String[] permissions, int requestCode) {}
activity中直接调用,无返回值。
当调用该方法的时候,手机界面上会弹出让用户操作的对话框,操作结束会触发回调函数onRequestPermissionsResult()
参考博客

Doze and App Standby

6.0新版本中提供了两种省电延长电池寿命的功能,分别是doze和app standby
谷歌便是,屏幕处于关闭状态,平均续航时间提高30%

什么时候进入doze

  • 用户不操作设备一段时间
  • 屏幕关闭
  • 设备未充电

    doze下有哪些限制

  • 网络关闭
  • wake lock会被屏蔽
  • AlarmManager 定时任务延迟到下一个 maintenance window 进行处理,除非使用android6.0在AlarmManager新增加的方法: setAndAllowWhileIdle() 或者 setExactAndAllowWhileIdle()
  • 系统将不扫描热点 WIFI
  • 同步工作将被禁止
  • 不允许 JobScheduler 进行任务调度

    App Standby

    当用户一段时间内不操作app,该app就会处于standby状态,处于这个状态的时候,会有一些限制,比如系统将允许空闲app一天一次访问网络
    无需关闭屏幕也会进入app standby模式下的空闲状态
    参考博客

Apache HTTP Client Removal

6.0里面已经将httpclient给移除了,替代的它的时候httpURLConnection

BoringSSL

没做过ndk, 大概是安全加密方面的东西,用这个BoringSSL提到原来的openSSL

Access to Hardware Identifiers

以后蓝牙和Wi-Fi的Mac地址,将不再被获取了
会返回一个默认的值:02:00:00:00:00:00
但是有网友发现还是可以通过Java获取设备网络设备信息的API—— NetworkInterface来获取Mac地址
参考博客

Notifications

移除了Notification.setLatestEventInfo() 。需要通过Notification.Builder来构建Notification

AudioManager Changes

此版本不再支持通过AudioManager类来直接对特定的音频流设置音量和静音,因此:
setStreamSolo()方法过时(deprecated),替换调用requestAudioFocus()方法
setStreamMute()方法过时,替换调用为adjustStreamVolume()方法,传入的值也变为ADJUST_MUTE 或 ADJUST_UNMUTE

Text Selection

在屏幕上长按进行文本选择的时候,或出现一个浮动的框框

Browser Bookmark Changes

此版本中移除了全局书签的支持。对应的方法和权限都可以移除,app需自己保存书签数据

Android Keystore Changes

此版本上Android Keystore provider不再支持DSA,仍旧支持ECDSA。

Wi-Fi and Networking Changes

  • 现在app只能够修改自己创建的WifiConfiguration,对用户或者其它app创建的WifiConfiguration不能操作
  • 之前,应用可以使用enableNetwork(),设置disableAllOthers=true,来使设备断开其它网络,如蜂窝网络,而强制连接指定的Wi-fi网络。在此版本上,设备将不会从其它网络断开连接。如果你的app的targetSdkVersion是20或者更低,将固定在选择的Wi-Fi网络。如果targetSdkVersion是21或者更高,使用multinetwork APIs (如openConnection(), bindSocket()和bindProcessToNetwork()方法)来保证网络流量被发送到指定的网络上。

Camera Service Changes

原来相机服务是“先来先服务”,根据请求的顺序来执行的。
现在改为基于优先级。高等级进程会驱逐低等级进程

Runtime

APK Validation

更加严格的apk验证机制。apk在修改任何内容后都必须重现签名

USB Connection

通过USB连接设备的时候,默认仅采用充电模式。需要传输数据必须明确的用户授权

Android for Work Changes

Android 6.0 新特性 整理 资料来自网络的更多相关文章

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

    android 7.0新特性 - jiabailong的专栏 - 博客频道 - CSDN.NEThttp://blog.csdn.net/jiabailong/article/details/5241 ...

  2. Android 8.0 新特性

    Android 8.0 (Android Oreo(奥利奥))新特性介绍 通知渠道 - Notification Channels 通知渠道是由应用自行定义的通知内容类别,借助渠道,开发者可以让用户对 ...

  3. Android 7.0新特性

    还望支持个人博客站:http://www.enjoytoday.cn 由于google目前不是无法直接在国内访问,故此,对于android 开发平台的7.0新特性做个保存.也可供大家查阅.原文转自an ...

  4. android 5.0新特性

    Android Lollipop 面向开发人员的主要功能 Material Design 设计 注重性能 通知 以大屏幕呈现 以文档为中心 连接性能再上一级 高性能图形 音频处理功能更强 摄像头和视频 ...

  5. 腾讯云安全:开发者必看|Android 8.0 新特性及开发指南

    欢迎大家关注腾讯云技术社区-博客园官方主页,我们将持续在博客园为大家推荐技术精品文章哦~ 背景介绍 谷歌2017 I/O开发者大会今年将于5月17-19日在美国加州举办.大会将跟往年一样发布最新的 A ...

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

    背景介绍 谷歌2017 I/O开发者大会今年将于5月17-19日在美国加州举办.大会将跟往年一样发布最新的 Android 系统,今年为 Android 8.0.谷歌在今年3 月21日发布 Andro ...

  7. Android 5.0 新特性

    Material Design Material Design简介 Material Design是谷歌新的设计语言,谷歌希望寄由此来统一各种平台上的用户体验,Material Design的特点是干 ...

  8. Android Studio3.0 新特性 ~ New Features in Android Studio Preview (译文)

    原文地址:https://developer.android.google.cn/studio/preview/features/index.html 最新Android Studio版本是Andro ...

  9. Android 7.0新特性“Nougat”(牛轧糖)。

    1.Unicode 9支持和全新的emoji表情符号 Android Nougat将会支持Unicode 9,并且会新增大约70种emoji表情符号.这些表情符号大多数都是人形的,并且提供不同的肤色, ...

随机推荐

  1. 取文件的大小 (KB,MB,GB...)

    取文件的大小 (KB,MB,GB...) 2种方式: VB 和 C# 1,  VB Public Function GetFileSize(ByVal iFileSizeKB As Long) As ...

  2. HTML静态网页(标签、表格)

    HTML静态网页: 打开DREAMWEAVER,新建HTML,如下图: body的属性: bgcolor 页面背景色 background  背景壁纸.图片 text  文字颜色 topmargin ...

  3. UVa1339 Ancient Cipher

    #include <iostream>#include <string>#include <cstring> // for memset#include <a ...

  4. 青蛙跳台阶问题——剑指offer

    题目:一只青蛙一次可以跳上1级台阶,也可以跳上2级台阶,求该青蛙跳上一个n级台阶总共有多少中跳法. http://www.nowcoder.com/books/coding-interviews?pa ...

  5. JavaSE_ 集合框架 总目录(15~18)

    JavaSE学习总结第15天_集合框架1 15.01 对象数组的概述和使用15.02 对象数组的内存图解15.03 集合的由来及与数组的区别15.04 集合的继承体系图解15.05 Collectio ...

  6. BZOJ 1266: [AHOI2006]上学路线route(最短路+最小割)

    第一问最短路.第二问,先把最短路的图建出来(边(u,v)满足d[s->u]+d[v->t]+d(u,v)==最短路径长度,就在图中,可以从源点和汇点分别跑一次最短路得到每个点到源点和汇点的 ...

  7. C++对象模型6--对象模型对数据访问的影响

    如何访问成员? 前面介绍了C++对象模型,下面介绍C++对象模型的对访问成员的影响.其实清楚了C++对象模型,就清楚了成员访问机制.下面分别针对数据成员和函数成员是如何访问到的,给出一个大致介绍. 对 ...

  8. Hadoop学习笔记(4)hadoop集群模式安装

    具体的过程参见伪分布模式的安装,集群模式的安装和伪分布模式的安装基本一样,只有细微的差别,写在下面: 修改masers和slavers文件: 在hadoop/conf文件夹中的配置文件中有两个文件ma ...

  9. Java判断字符串是中文还是英文

    在做开发的时候我们经常需要用到根据某个字符或者字符串来判断其是中文还是英文,从而做相应的处理,其实不难,大多数人们都是用到正则来判断的,下面小贝就给大家分享一下Java判断字符串是中文还是英文 推荐文 ...

  10. 关于php支持的协议与封装协议

    <?php /* * php://stdin 标准输入流 * php://stdout 标准输入流 * php://stderr 标准错误流 * php://output 只写的数据流 * ph ...