Android 6.0 中的新技術總結(jié)
最近 Google 正式發(fā)布了 Android M,并命名為“棉花糖”(Marshmallow),對于開發(fā)者來說,有哪些新的技術和變化呢?本文嘗試總結(jié)一下 Android 6.0(API 23)給開發(fā)者帶來新的技術和改變。
權限管理
權限管理是 Android M ***的改變,權限管理更加精細,并且由以前的安裝時靜態(tài)授權,改為現(xiàn)在的運行時動態(tài)授權。大家對 Android 的權限吐槽已久,Android 應該能極大的改善這方面的問題。主要改變有:
- 系統(tǒng)設置中可以對 APP 各個權限單獨控制
- 權限根據(jù)內(nèi)容進行分組了
- 普通權限還是在安裝時授權
- 其他權限在運行時系統(tǒng)彈窗授權,并且要解析使用這個權限的目的
對于開發(fā)者來說,需要小心處理權限相關的問題。在使用某個功能的時候,需要總是判斷是否有改權限,并且通過合適的方式請求用戶授權。關于 Android M 權限的處理,可以參考官方文檔。
另外,這篇文章結(jié)合圖文和代碼講述了 Android M 中權限模型,比較清晰,可以參考一下。
APP Linking
這是一個把 APP 和網(wǎng)頁直接打通的技術,能夠讓 APP 能夠直接來處理你的網(wǎng)站普通的 URL 鏈接,來展示你對應的網(wǎng)站內(nèi)容。這絕對是一個值得關注的改進,Web 和 APP 之間縫隙將越來越小。這對既有網(wǎng)站又有 APP 的應用來說非常有利,例如知乎和淘寶等。
有點類似于之前的 APP 的 Deep link,可以通過特殊的 Schema 也可以讓 APP 直接打開對應的內(nèi)容。APP Linking 的特點是,只要使用傳統(tǒng)的 URL 就可以,而且是根據(jù) URL 的域名對應特定的 APP 的。
開發(fā)者需要做的是在 AndroidManifest.xml 做一下對應的聲明即可。如果需要讓系統(tǒng)默認用你的 APP 打開對應的 URL 的話,還需要網(wǎng)站配合提供 assetlinks.json。詳情可以參考這里。
APP 數(shù)據(jù)自動備份
支持 APP 數(shù)據(jù)自動備份到 Google Drive,在你換手機的時候,能夠直接把 APP 的數(shù)據(jù)恢復到你的手機上,你還可以配置些數(shù)據(jù)那些數(shù)據(jù)需要或者不需要備份。而且不用寫任何代碼就自動實現(xiàn)了。詳情可以參考這里。
然而這些對國內(nèi)的開發(fā)者來說,并沒有什么用。國內(nèi)廠商的 ROM 有些已經(jīng)有或者準備會跟上,到時候都能享受到這樣的便利。
指紋解鎖
Android 官方支持指紋認證,可以用在解鎖,或者任何需要驗證用戶的地方,例如支付。提供了新的 API FingerprintManager,讓第三方 APP 來用來獲得指紋認證的功能。具體使用方法可以參考這個實例。
直接分享
直接分享是在 APP 內(nèi)直接彈出一個選擇分享到其他應用的中的對象的列表,中間省略了選擇需要分享的 APP,選擇“聯(lián)系人”之類的操作。Android 中分享已經(jīng)做得很好了,這里又更進一步簡化了分享操作。如果要讓你的 APP 支持被直接分享,需要實現(xiàn)一個ChooserTargetService,并且實現(xiàn)對應的處理分享 Intent 的 Activity。具體使用可以參考這里。
支持藍牙觸控筆
系統(tǒng)內(nèi)置支持藍牙觸控筆,這樣 Android 系統(tǒng)就默認支持高大上的觸控筆了。并提供了 API 讓你的 APP 來響應觸控筆事件。
低功耗藍牙掃描優(yōu)化
優(yōu)化了低功耗藍牙掃描優(yōu)化的掃描?,F(xiàn)在低功耗藍牙的應用越來越多,很多 APP 都需要掃描設備,掃描設備是一個非常重的操作,希望這次改動,能夠帶來一些改善。
支持主題化的 ColorStateLists
使用 context.getColorStateList(int id) 來獲取當前主題對應的 ColorStateLists。
相機 API
提供 API setTorchMode()) 來直接開關閃光燈,并且可以監(jiān)聽閃光燈的開光狀態(tài),以前很多 APP 已經(jīng)支持用閃光燈來做手電筒,現(xiàn)在官方提供 API 來做這樣的事情了。
從 Android 5.0 開始,就提供了一套全新的相機 API Camera2,這里在此基礎上添加了處理相關 API。
其他
另外還有很多的改進,因為涉及的方面太專業(yè),或者是沒有使用到相關功能,我就不詳細說了,可以參考官方概述:
- 有語音交互 API
- Hotspot 2.0 支持
- 4k 屏支持
- 語音和視頻 API 的改進
- Android 企業(yè)用戶特性,例如多用戶支持,靜默安裝等