Android 17 在 Beta 測(cè)試階段就給人一種「無從下手」的感覺:或許是因?yàn)?Google 現(xiàn)在每年都會(huì)給每個(gè)大版本推送兩次更新,而每次正式版之前的測(cè)試周期被壓縮到只有 2-3 個(gè)月,即便讓 Gemini 來寫代碼,應(yīng)該都不太可能端出太多讓人眼前一亮的新東西。
![]()
Android 17 更新時(shí)間線
上周 Beta 4 版本的發(fā)布,意味著 Android 17 目前已經(jīng)進(jìn)入了 Platform Stability 階段,所以在下半年的測(cè)試開啟前我們應(yīng)該都看不到什么新東西了。
那 Android 17 在過去兩個(gè)多月時(shí)間里都加了哪些新功能呢?交互這邊我們或許能(在 Pixel 設(shè)備上先)看見的:聯(lián)系人選擇器、本地網(wǎng)絡(luò)權(quán)限、分離式語音助理音量、大屏優(yōu)化、接力 API,看不見的底層那邊則有MessageQueue無鎖化、基于設(shè)備總 RAM 的應(yīng)用內(nèi)存限制、usesClearTraffic棄用、限制隱式 URI 授予、旋轉(zhuǎn)后恢復(fù)默認(rèn)輸入法可見性……
這篇文章我們就來展開聊聊,就當(dāng)是給 Android 17 的首次正式版做個(gè)「前瞻」了。
▍碰一碰互傳
Tap to Share 并不是什么已經(jīng)正式確認(rèn)的 Android 17 功能,所以我們上面并沒有提到它。
Android Authority 最早在 3 月底的 One UI 9(基于 Android 17)泄漏固件中發(fā)現(xiàn)了這個(gè)功能,9to5Google 則在后續(xù)拿到了 Pixel 設(shè)備這邊的功能截圖和交互動(dòng)畫。
![]()
One UI 和 Pixel OS 中的碰一碰互傳功能
iOS 用戶看到 Tap to Share 的功能示意圖,可能會(huì)想起 iOS 17 上線的名片投送(NameDrop)功能,而稍有年紀(jì)的 Android 用戶則會(huì)第一時(shí)間想起 Android Beam——Google 在 2011 年發(fā)布的、基于藍(lán)牙傳輸協(xié)議的跨設(shè)備分享方案。Android Beam 借助 NFC 功能和「碰一碰」這個(gè)交互,精簡了藍(lán)牙傳輸分享這個(gè)流程中最為繁瑣的搜索配對(duì)流程。
盡管交互方式頗具前瞻性,Android Beam 里子依然是藍(lán)牙傳輸,在十多年前的 Android 手機(jī)市場(chǎng),這種設(shè)計(jì)簡直是把能疊的 buff 都疊滿了。一方面 NFC 在非旗艦 Android 機(jī)型上并非標(biāo)配,另一方面藍(lán)牙傳輸?shù)乃俣然疽馕吨c大文件分享、傳輸無緣。所以后續(xù)的故事也說得通:三星在 Android Beam 的基礎(chǔ)之上開發(fā)了基于 Wi-Fi 傳輸協(xié)議的 S Beam,Google 則進(jìn)一步在「親兒子」三星理念的影響下推出了 Nearby Share(現(xiàn)在改名叫 Quick Share)。Android Beam 就像一個(gè)技術(shù)預(yù)覽,在 Android 系統(tǒng)的角落里閑置了八年后,在 Android 10 中被徹底隱藏,并且在 2023 年的 Android 14 正式版中從 Android 代碼中完全移除。
![]()
交互動(dòng)效
考慮到今年 Quick Share 已經(jīng)成熟到可以兼容 AirDrop 了,Google 再借 Android Beam 的理念幫它「打包」一個(gè)上層交互的想法也算是合情合理,甚至有點(diǎn) Android Beam 精神傳承的味道 —— 至少在看到動(dòng)畫效果之前我是這么想的。
▍聯(lián)系人選擇器
盡管在國產(chǎn)應(yīng)用這邊的采用率有限,但 Android 系統(tǒng)近幾年在「照片選擇器」這個(gè)功能上的投入還是值得肯定的:從最初作為 Android 13 正式版的新功能上線,到后續(xù)作為 Google 服務(wù)的組件完成對(duì)老機(jī)型的向下兼容,照片選擇器作為一項(xiàng)「借鑒 iOS」的隱私設(shè)計(jì),在鋪開的過程中算是結(jié)合到了 Android 生態(tài)機(jī)型多、版本碎片率高的客觀現(xiàn)實(shí)。
Android 17 的聯(lián)系人選擇器或許也會(huì)成為類似的功能。Google 在這里借鑒了 Apple 在 2024 年的 iOS 18 中推出的 Contact Access 授權(quán)模式,在 Android 17 上為聯(lián)系人選擇這一操作準(zhǔn)備了一套更為隱私友好的標(biāo)準(zhǔn)化界面,用戶通過這個(gè)系統(tǒng)提供的標(biāo)準(zhǔn)化界面來選擇聯(lián)系人披露范圍。
![]()
聯(lián)系人選擇器的三種選擇模式
作為一個(gè)借鑒 iOS 平臺(tái)而來的特性,Android 17 的聯(lián)系人選擇器也有一些相比 iOS 更加細(xì)致的設(shè)計(jì):在 iOS 中,聯(lián)系人訪問權(quán)限的披露粒度是聯(lián)系人條目,即我們可以選擇開放給應(yīng)用的最小信息單元是某個(gè)聯(lián)系人條目;而 Android 17 這邊雖然看上去功能類似但披露粒度更細(xì),應(yīng)用需要在 intent 里首先按照具體的聯(lián)系人信息字段(比如電話號(hào)碼、郵箱、生日)聲明自己要訪問的聯(lián)系人信息類別,用戶通過聯(lián)系人選擇器選擇聯(lián)系人披露范圍后,應(yīng)用才能拿到這些聯(lián)系人信息中的對(duì)應(yīng)字段。
![]()
iOS 中的聯(lián)系人選擇器
不過「非強(qiáng)制性」這一點(diǎn)依然是 Android 17 聯(lián)系人選擇器功能目前看來最大的未知因素,正如照片選擇器至今依然沒有完全替代媒體文件訪問權(quán)限一樣,Android 17 的聯(lián)系人選擇器也并非READ_CONTACTS聯(lián)系人訪問權(quán)限的直接替代。Google 目前只是做了一個(gè)系統(tǒng)層面的標(biāo)準(zhǔn)界面,適配了 Android 17 的應(yīng)用可以選擇采用這套隱私友好的聯(lián)系人信息獲取流程,未適配 Android 17 的應(yīng)用如果原本在用Intent.ACTION_PICK,在新系統(tǒng)中也可以自動(dòng)獲得新界面 —— 但聯(lián)系人訪問權(quán)限還在,不想管 Android 平臺(tái)原生特性的應(yīng)用依然可以不管。
考慮到 Google 后續(xù)的確有通過拆分媒體訪問權(quán)限、降低系統(tǒng)版本要求等手段來推動(dòng)照片選擇器的適配,這里不妨就留個(gè)希望,希望聯(lián)系人選擇器同樣也是入口先行,我們應(yīng)該能很快在下半年的更新中看到 Google 對(duì)聯(lián)系人讀取權(quán)限動(dòng)刀吧。畢竟聯(lián)系人訪問權(quán)限也是一個(gè)不小的隱私泄露源頭。
▍本地網(wǎng)絡(luò)權(quán)限
和聯(lián)系人選擇器類似,Android 17 同樣也引入了本地網(wǎng)絡(luò)權(quán)限。
首先必須明確一點(diǎn):大家在 iOS 系統(tǒng)中看見的、大部分應(yīng)用發(fā)起的本地網(wǎng)絡(luò)權(quán)限申請(qǐng),本質(zhì)上依然是想借助局域網(wǎng)發(fā)現(xiàn)能力做局域網(wǎng)設(shè)備探測(cè)、用戶畫像和用戶指紋識(shí)別,最終是要用來給你做個(gè)性化廣告追蹤和推薦的。我們的主張和當(dāng)初文章中的一樣:就大部分應(yīng)用而言,它們都不需要給本地網(wǎng)絡(luò)權(quán)限。
![]()
iOS 中的本地網(wǎng)絡(luò)權(quán)限
關(guān)聯(lián)閱讀:iOS 14 新增的本地網(wǎng)絡(luò)權(quán)限,要開給第三方 App 嗎?
Google 在 Android 17 中正式將本地網(wǎng)絡(luò)權(quán)限納入了NEARBY_DEVICES權(quán)限組當(dāng)中,并且所有面向 Android 17 及以上系統(tǒng)版本開發(fā)的新應(yīng)用,默認(rèn)情況下都會(huì)被屏蔽本地網(wǎng)絡(luò)訪問行為,包括 TCP 連接、UDP 單播、多播、廣播等,甚至無法解析 .local 這樣的本地域名。這里 Google 同樣建議有特定需求的開發(fā)者選擇更為隱私友好的中轉(zhuǎn)方案,例如借助 Android 系統(tǒng)級(jí) Cast SDK 中的輸出切換器來完成投屏,而如果是智能家居控制、IoT 管理這類需要持續(xù)、廣泛訪問局域網(wǎng)的需求,再借助本地網(wǎng)絡(luò)權(quán)限向用戶請(qǐng)求授權(quán)。
我們也在這里第一次拋出本文的「數(shù)學(xué)題」:按照 Google Play 商店對(duì)應(yīng)用目標(biāo) SDK 等級(jí)的要求,2027 年 8 月 31 日之后,Google Play 商店中的應(yīng)用都必須請(qǐng)求本地網(wǎng)絡(luò)訪問權(quán)限。
▍大屏優(yōu)化
說「大屏優(yōu)化」其實(shí)有點(diǎn)寬泛,但以 Android 17 為目標(biāo)平臺(tái)進(jìn)行適配的新應(yīng)用,在 Android 17 上都將變成完全可由用戶隨意「拿捏」的形狀:屏幕方向、尺寸調(diào)整和寬高比限制,將不再適用于最小寬度大于 600dp 的顯示屏,應(yīng)用在大屏上運(yùn)行時(shí),默認(rèn)會(huì)填滿整個(gè)顯示窗口,無論寬高比或用戶的首選屏幕方向如何。
這也給那些寫死應(yīng)用方向、強(qiáng)迫用戶旋轉(zhuǎn)內(nèi)屏使用、用「放大」替代「大屏適配」工作的做法下了整改通知:這里第二次拋出上面那道「數(shù)學(xué)題」,2027 年 8 月 31 日之后,Google Play 商店中僅適配移動(dòng)端小屏交互的應(yīng)用將不復(fù)存在。
結(jié)合這些年折疊屏設(shè)備宛如抽獎(jiǎng)般的實(shí)際體驗(yàn),可以說 2027 年這個(gè)時(shí)間窗口其實(shí)相當(dāng)溫和,并且說到底 Google 也只是拿掉了一條「捷徑」—— 真有頭鐵的開發(fā)者,依然可以不做什么自適應(yīng)布局,任由應(yīng)用在大屏設(shè)備上縮放、變形,輕則設(shè)備使用形態(tài)轉(zhuǎn)換(比如外屏到內(nèi)屏)時(shí)應(yīng)用重載當(dāng)前界面丟失,重則應(yīng)用內(nèi)相機(jī)方向混亂,圖像、文本完全不具備可讀性……
但話說回來,今年如果 Apple 按預(yù)期推出折疊屏設(shè)備,多多少少能幫到咱 Android 大屏應(yīng)用適配一把吧(笑)。
▍接力 API
各種形態(tài)的設(shè)備越來越多,系統(tǒng)級(jí)接力 API(Handoff)其實(shí)也早該端出來了:跨設(shè)備「接力」在 Apple、華為鴻蒙生態(tài)中已布局多年,但大量的 Android 廠商依然需要一個(gè)平臺(tái)層面的支持來打破屏障。
在返回手勢(shì)那篇文章中我們提到,Android 應(yīng)用中大部分看得見、摸得著的交互,都是由活動(dòng)(activity)來承載的。Android 17 的接力 API 也用到了這一基礎(chǔ)架構(gòu),開發(fā)者只需要給想要接力的活動(dòng)窗口打上特定標(biāo)注,另一設(shè)備上的任務(wù)欄或啟動(dòng)器中就會(huì)出現(xiàn)接續(xù)操作的提示。
![]()
應(yīng)用信息設(shè)置中已經(jīng)有了「任務(wù)連續(xù)性」選項(xiàng)
當(dāng)前視頻播放到了幾分幾秒、文檔滾動(dòng)到了哪一行、或者是購物車?yán)锕催x了哪幾樣商品,都能通過這個(gè)數(shù)據(jù)包傳遞到另一設(shè)備上、調(diào)用同一應(yīng)用的對(duì)應(yīng)活動(dòng)窗口打開,并且 Google 也考慮到了一些比較特殊的使用情況,比如兩端如果都裝了同一 App,接收端可以直接通過 Deep Link 啟動(dòng)實(shí)現(xiàn)快速恢復(fù),如果接收端沒裝 App 系統(tǒng)則會(huì)拉起瀏覽器,打開開發(fā)者在HandoffActivityData里設(shè)好的 URL,實(shí)現(xiàn)「無縫降級(jí)」;另外還有僅傳遞 URL 鏈接的 URL Handoff,適合跨設(shè)備書簽同步、新聞閱讀等場(chǎng)景。
![]()
目前 Pixel 啟動(dòng)器中的瀏覽器標(biāo)簽頁恢復(fù)功能應(yīng)該也是類似的實(shí)現(xiàn)
對(duì)國內(nèi)用戶來說,接力 API 其實(shí)也有一個(gè)變數(shù):Google 這套設(shè)備間活動(dòng)流轉(zhuǎn)的機(jī)制顯然是基于 Google 服務(wù)和 Google 賬號(hào)搭建的,對(duì) Google Play 相關(guān)服務(wù)的依賴目前也不明朗。考慮到部分搭載了 Google 服務(wù)的國產(chǎn)機(jī)型在實(shí)際體驗(yàn)方面均有縮水(比如 Quick Share),只能祈禱接力 API 對(duì) Google 服務(wù)的依賴低一點(diǎn)、或者國產(chǎn) Android 廠商能做一些本地化適配吧。
▍其他改動(dòng)
正如開頭所言,目前 Android 大版本更新的迭代速度加快,越來越多的新特性要么放在下半年,要么就干脆成為 Pixel 設(shè)備和三星設(shè)備獨(dú)占,其他廠商還得再等上個(gè)一年半載。看得見、摸得著,讓人眼前一亮的東西越來越少。
除了上述內(nèi)容,Android 17 值得一提的新特性還有:
實(shí)時(shí)更新類通知新增了語義著色 API,開發(fā)者可以在實(shí)時(shí)更新通知中用綠、橙、紅、藍(lán)四種預(yù)置顏色來設(shè)置符合使用情境的色彩樣式
![]()
針對(duì)助理應(yīng)用引入了專用的助理音量音頻流,助理聲音通過
USAGE_ASSISTANT播放,音量調(diào)節(jié)和其他類別的音頻分離并支持單獨(dú)控制
![]()
可以單獨(dú)控制智能助理的語音音量了
引入了基于設(shè)備總 RAM 的應(yīng)用內(nèi)存限制,極端內(nèi)存泄漏等情況下的系統(tǒng)穩(wěn)定性表現(xiàn)應(yīng)該會(huì)更好,并且影響范圍更可控
音頻框架會(huì)對(duì)后臺(tái)音頻互動(dòng)強(qiáng)制執(zhí)行限制,以確保這些更改是由用戶有意發(fā)起的(比如媒體播放),其他「非法」音頻請(qǐng)求會(huì)以靜默方式失敗,坊間流傳的「音頻播放保活」小妙招可能會(huì)失效,各種奇奇怪怪的音樂播放被打斷的情況應(yīng)該會(huì)更少
底層
MessageQueue完成了無鎖化重構(gòu),從線程消息請(qǐng)求的底層層面減少了 UI 自動(dòng)化執(zhí)行時(shí)的摩擦,感興趣的朋友可移步具透 Plus。
以上便是 Android 17 正式版值得關(guān)注的主要更新,雖然大多數(shù)更新已是板上釘釘,但最終體驗(yàn)還是得等到 5 月的 Google I/O 大會(huì)。我們到時(shí)候見!
https://sspai.com/post/108899?utm_source=wechat&utm_medium=social
作者:克萊德
![]()
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺(tái)“網(wǎng)易號(hào)”用戶上傳并發(fā)布,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.