最近 Google 正式发布了 Android M,并命名为“棉花糖”(Marshmallow),对于开发者来说,有哪些新的技术和变化呢?本文尝试总结一下 Android 6.0(API 23)给开发者带来新的技术和改变。
权限管理
权限管理是 Android M 最大的改变,权限管理更加精细,并且由以前的安装时静态授权,改为现在的运行时动态授权。大家对 Android 的权限吐槽已久,Android 应该能极大的改善这方面的问题。主要改变有:
系统设置中可以对 APP 各个权限单独控制
权限根据内容进行分组了
普通权限还是在安装时授权
其他权限在运行时系统弹窗授权,并且要解析使用这个权限的目的
对于开发者来说,需要小心处理权限相关的问题。在使用某个功能的时候,需要总是判断是否有改权限,并且通过合适的方式请求用户授权。关于 Android M 权限的处理,可以参考官方文档。
另外,这篇文章结合图文和代码讲述了 Android M 中权限模型,比较清晰,可以参考一下。
APP Linking
这 是一个把 APP 和网页直接打通的技术,能够让 APP 能够直接来处理你的网站普通的 URL 链接,来展示你对应的网站内容。这绝对是一个值得关注的改进,Web 和 APP 之间缝隙将越来越小。这对既有网站又有 APP 的应用来说非常有利,例如知乎和淘宝等。
有点类似于之前的 APP 的 Deep link,可以通过特殊的 Schema 也可以让 APP 直接打开对应的内容。APP Linking 的特点是,只要使用传统的 URL 就可以,而且是根据 URL 的域名对应特定的 APP 的。
开发者需要做的是在 AndroidManifest.xml 做一下对应的声明即可。如果需要让系统默认用你的 APP 打开对应的 URL 的话,还需要网站配合提供 assetlinks.json。详情可以参考这里。
APP 数据自动备份
支持 APP 数据自动备份到 Google Drive,在你换手机的时候,能够直接把 APP 的数据恢复到你的手机上,你还可以配置些数据那些数据需要或者不需要备份。而且不用写任何代码就自动实现了。详情可以参考这里。
然而这些对国内的开发者来说,并没有什么用。国内厂商的 ROM 有些已经有或者准备会跟上,到时候都能享受到这样的便利。
指纹解锁
Android 官方支持指纹认证,可以用在解锁,或者任何需要验证用户的地方,例如支付。提供了新的 API FingerprintManager,让第三方 APP 来用来获得指纹认证的功能。具体使用方法可以参考这个实例。
直接分享
直 接分享是在 APP 内直接弹出一个选择分享到其他应用的中的对象的列表,中间省略了选择需要分享的 APP,选择“联系人”之类的操作。Android 中分享已经做得很好了,这里又更进一步简化了分享操作。如果要让你的 APP 支持被直接分享,需要实现一个ChooserTargetService,并且实现对应的处理分享 Intent 的 Activity。具体使用可以参考这里。
支持蓝牙触控笔
系统内置支持蓝牙触控笔,这样 Android 系统就默认支持高大上的触控笔了。并提供了 API 让你的 APP 来响应触控笔事件。
低功耗蓝牙扫描优化
优化了低功耗蓝牙扫描优化的扫描。现在低功耗蓝牙的应用越来越多,很多 APP 都需要扫描设备,扫描设备是一个非常重的操作,希望这次改动,能够带来一些改善。
支持主题化的 ColorStateLists
使用 context.getColorStateList(int id) 来获取当前主题对应的 ColorStateLists。
相机 API
提供 API setTorchMode()) 来直接开关闪光灯,并且可以监听闪光灯的开光状态,以前很多 APP 已经支持用闪光灯来做手电筒,现在官方提供 API 来做这样的事情了。
从 Android 5.0 开始,就提供了一套全新的相机 API Camera2,这里在此基础上添加了处理相关 API。
其他
另外还有很多的改进,因为涉及的方面太专业,或者是没有使用到相关功能,我就不详细说了,可以参考官方概述:
有语音交互 API
Hotspot 2.0 支持
4k 屏支持
语音和视频 API 的改进
Android 企业用户特性,例如多用户支持,静默安装等。
推荐阅读:
相关推荐
在android 6.0中google终于给android系统加上了指纹识别的支持,这个功能在iPhone上早就已经实现了,并且在很多厂商的定制的ROM中也都自己内部实现这个功能了,这个功能来的有点晚啊。在google全新发布的nexus设备:...
主要功能*动态权限检测,为了兼容Android6.0+ 在登录app后进行授权询问,如果缺少权限可以去设置中重新授权1.闪屏界面,引导视图在首次打开App时,通过闪屏界面进入引导视图,再进入主页登录界面。2.登录界面采用...
支持Android 6.0 支持运单备注 优化单号扫描界面 下载地址 fir:https://fir.im/ponyexpress 项目 公开API 快递查询:快递100(非公开,侵权删) 开源技术 ZXing Volley Gson ormlite Glide 关键代码 网络请求...
java6.0源码 Java技术学习资源栈欢迎大家 以下是我手写的Java代码,从Java入门到Java高级,再到主流框架,最后到微服务。有需要的同学可以点击下载学习,完全免费!想获取最新教学资源的同学,请关注微信公众号: ...
java6.0源码 为 gldemos 提供一个小的共享资源库。 此 repo 没有依赖项。 最新更新 (4.10.16):Android Studio 2.x+ 更新/将存储库移至组织。 将 Google Groups 论坛移至 . 更改了MPL v2.0和MPL v2.0许可证。 A 可...
本书以飞思卡尔应用处理器i.mx51为例全面系统地讲述基于新一代高性能armcortex-a8内核应用处理器以及wince6.0和android系统的软硬件系统开发指导,具体内容包括:以i.mx51应用处理器为例介绍基于cortex-a8内核的高...
java6.0源码 Java技术学习资源栈欢迎大家 以下是我手写的Java代码,从Java入门到Java高级,再到主流框架,最后到微服务。有需要的同学可以点击下载学习,完全免费!想获取最新教学资源的同学,请关注微信公众号: ...
java6.0源码 Java技术学习资源栈欢迎大家 以下是我手写的Java代码,从Java入门到Java高级,再到主流框架,最后到微服务。有需要的同学可以点击下载学习,完全免费!想获取最新教学资源的同学,请关注微信公众号: ...
java6.0源码 Java技术学习资源栈欢迎大家 以下是我手写的Java代码,从Java入门到Java高级,再到主流框架,最后到微服务。有需要的同学可以点击下载学习,完全免费!想获取最新教学资源的同学,请关注微信公众号: ...
java6.0源码 Java技术学习资源栈欢迎大家 以下是我手写的Java代码,从Java入门到Java高级,再到主流框架,最后到微服务。有需要的同学可以点击下载学习,完全免费!想获取最新教学资源的同学,请关注微信公众号: ...
java6.0源码 Java技术学习资源栈欢迎大家 以下是我手写的Java代码,从Java入门到Java高级,再到主流框架,最后到微服务。有需要的同学可以点击下载学习,完全免费!想获取最新教学资源的同学,请关注微信公众号: ...
java6.0源码 Java技术学习资源栈欢迎大家 以下是我手写的Java代码,从Java入门到Java高级,再到主流框架,最后到微服务。有需要的同学可以点击下载学习,完全免费!想获取最新教学资源的同学,请关注微信公众号: ...
java6.0源码 Java技术学习资源栈欢迎大家 以下是我手写的Java代码,从Java入门到Java高级,再到主流框架,最后到微服务。有需要的同学可以点击下载学习,完全免费!想获取最新教学资源的同学,请关注微信公众号: ...
java6.0源码 Java技术学习资源栈欢迎大家 以下是我手写的Java代码,从Java入门到Java高级,再到主流框架,最后到微服务。有需要的同学可以点击下载学习,完全免费!想获取最新教学资源的同学,请关注微信公众号: ...
java6.0源码 Java技术学习资源栈欢迎大家 以下是我手写的Java代码,从Java入门到Java高级,再到主流框架,最后到微服务。有需要的同学可以点击下载学习,完全免费!想获取最新教学资源的同学,请关注微信公众号: ...
java6.0源码 Java技术学习资源栈欢迎大家 以下是我手写的Java代码,从Java入门到Java高级,再到主流框架,最后到微服务。有需要的同学可以点击下载学习,完全免费!想获取最新教学资源的同学,请关注微信公众号: ...
java6.0源码 Java技术学习资源栈欢迎大家 以下是我手写的Java代码,从Java入门到Java高级,再到主流框架,最后到微服务。有需要的同学可以点击下载学习,完全免费!想获取最新教学资源的同学,请关注微信公众号: ...
5.在Activity的onActivityResult方法中接收扫描结果(下面有完整代码) protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (requestCode == 5) { if (null != data) { Bundle ...
注意 该存储库包含用于最终目标...如果您是Android Studio程序员,则有几种方法可以下载此存储库。 请注意,如果您使用Blocks或OnBot Java Tool对机器人进行编程,则无需下载此存储库。 如果您是git用户,则可以克隆
首先创建一个安卓项目,指纹识别作为最近几年才兴起的技术,对安卓api level要求较高(api 23以上即jdk6.0以上) 创建一个button用于触发指纹识别,并在MainActivity里对其监听,代码如下 Button button=(Button)...