安卓12適配有什麼缺點
① Android 12適配-行為變更:所有應用
簡單講,就是從Android 12開始,所有的App在每次啟動時(特指冷啟動與溫啟動),系統都會為我們加上一個默認的啟動畫面,如下所示:
該啟動畫面主要由以下4個元素組成,分別為:
(1) 應用圖標 :可以是靜態或動畫形式。默認情況下,使用Launcher圖標。
(2) 圖標背景 :可選,在圖標與窗口背景之間需要更高的對比度時很有用。
(3) 前景遮罩 :可選,前景的 ⅓ 將被遮蓋。
(4) 窗口背景 :不透明的單色,默認是所設置主題的windowBackground。
雖然這個啟動畫面允許我們一定程度的自定義,但總體都無法跳脫出以上4個元素,且 無法去除 。如果不做任何處理,加上我們原有的閃屏頁和廣告頁,視覺上會有 多個啟動畫面 。
方案1(懶人專用): 設置除窗口背景之外的元素都為透明
處理後的效果就是,在啟動時會先顯示由所設置主題的windowBackground指定的純色背景,即與大多數開發者之前為了解決啟動黑屏/白屏問題所採用的方法一致。
方案2(常規做法): 改用SplashScreen API定製系統啟動畫面
缺點就是可定製程度低,可能無法滿足產品的需求;
如果總體的效果可以接受,那麼接下來要處理的就是對原有閃屏頁的取捨,以及與原有廣告頁的畫面銜接了。
但如開頭所言,我們的目標是 將改動最小化 ,那麼,原有閃屏頁該幹嘛還是讓它幹嘛,初始化也好,路由也罷,邏輯不變,要求只是不再顯示而已。
具體做法如下:
簡單講,就是從Android 12開始,用戶可以通過狀態欄下拉菜單中兩個新增的切換開關選項,一鍵啟用/停用攝像頭和麥克風使用許可權。
請注意,這里的「使用許可權」針對的是設備上的所有App,是全局的,不要和Android 6.0的「運行時權啟耐限」混淆。
而兩者在具體表現上也有所不同,在實際操作中:
盡管官網上提供了檢查設備是否支持麥克風和攝像頭切換開關的API,也就是檢查狀態欄下拉菜單是否有這兩個開關選項,然而這棗旁歲對於我們實際的適配工作幾乎沒有什麼卵用:
SensorPrivacyManager類倒是有提供檢查指定切換開關是否開啟的API,但由於是系統許可權,因此即使是通過反射形式也無法調用:
所幸的是,如果用戶主動關閉了攝像頭或麥克風的使用許可權,那麼當下次App再需要啟動攝像頭或麥克風時,系統就會提醒用戶,相關硬體的使用許可權已關閉,並申請重新開啟:
因此,對於此行為變更的適配,我們要做的,就是驗證在用戶主動關閉了攝像頭或麥克風使用許可權後,App的相關功能是否受影響,至於監聽/提示/重新開啟的工作則交給系統幫我們完成即可。
做過定位功能的Android開發者都知道,Android提供了兩種不同精確度的位置許可權凳睜,分別是:
而在以Android 12為目標平台的App上,當App嘗試請求ACCESS_FINE_LOCATION許可權時,系統許可權對話框會提供兩個選項,即允許App獲取確切位置,還是僅允許獲取大致位置。
並且如果您的應用請求 ACCESS_FINE_LOCATION運行時許可權,您還應請求 ACCESS_COARSE_LOCATION 許可權,以便處理用戶授予應用大致位置訪問許可權的情形。您應該在單個運行時請求中包含這兩項許可權。
也即是說,給了用戶拒絕提供確切位置的權力,一旦用戶拒絕,這種情況下App就只能獲取到大致位置了。
雖然用戶可能拒絕提供確切位置,但我們依舊可以再次請求升級到確切位置:
當然,在再次請求前提供一個適當的解釋說明是一個比較好的做法,App本身也要做好只能獲取到大致位置時的業務降級處理。
還有許多的行為變更,以上我只選了幾條重要的,其他變更及更詳細的文檔可以參見:
Android 12行為變更:所有應用
以上只是針對在 Android 12 上運行的所有應用應為變更,此外,請務必查看:
Android 12適配-行為變更:以 Android 12 為目標平台的應用
Android 12行為變更:所有應用
② 安卓12.1跟安卓12有區別嗎
有.
1、安卓12.1在性能上優先於安卓12,安卓12性能落後。
2。安卓12.1系統流暢系統運行優化更好,安卓12系統上較卡,運行不流暢,所以安卓12.1跟安卓12有區別。
③ 谷歌正式發布Android 12,Android 系統好用嗎
谷歌發布安卓12系統,可以說谷歌的安卓系統在國內應用是最廣泛的。除了蘋果的這個手機上下的所有廠商的手機都是安卓系統,最近華為才推出這個功能系統,剩下的都是基於谷歌公司所提供的安卓系統,然後自己做了一定的優化和改良。
國產廠商顯然也在嘗試著開發自己的系統,但是開發手機系統真不是個簡單的活,因為谷歌公司的這個安卓系統開發已經十幾年的時間到現在,仍然是有各種各樣的問題,仍然要周期性的做一個系統的更新,因為它有bug,你覺得國產廠商做手機的這些廠商,他這個系統的開發能力比谷歌公司還強嗎?不可能的有差距,所以自己開發自己的系統是非常有風險的。