Android 6.0 中的新技術總結

race604發表於2015-08-24

最近 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 企業使用者特性,例如多使用者支援,靜默安裝等

相關文章