Android Pie(9.0)適配

Android Pie(9.0)適配

[圖片上傳失敗...(image-74880c-1544772143959)]

查看新功能

顯示屏缺口支持

  • 使用getDisplayCutout()函數(shù)獲取缺口屏(劉海屏)的參數(shù)
  • 可以通過(guò)谷歌提供的適配方案,使用挖孔區(qū)全屏顯示解決:
WindowManager.LayoutParams lp = getWindow().getAttributes();
lp.layoutInDisplayCutoutMode = WindowManager.LayoutParams.LAYOUT_IN_DISPLAY_CUTOUT_MODE_SHORT_EDGES;
getWindow().setAttributes(lp);

多個(gè)通知增強(qiáng)功能

  • 支持圖像:現(xiàn)在,Android 9 可在手機(jī)的“短信通知”中顯示圖像。 您可以使用對(duì)短信使用 setData()來(lái)顯示圖像。 以下代碼段演示了如何創(chuàng)建 Person 和包含圖像的短信。
// Create new Person.
Person sender = new Person()
        .setName(name)
        .setUri(uri)
        .setIcon(null)
        .build();
// Create image message.
Message message = new Message("Picture", time, sender)
        .setData("image/", imageUri);
Notification.MessagingStyle style = new Notification.MessagingStyle(getUser())
        .addMessage("Check this out!", 0, sender)
        .addMessage(message);

[圖片上傳失敗...(image-b7321d-1544772143959)]

適用于可繪制對(duì)象和位圖的 ImageDecoder

Android 9 引入了 ImageDecoder 類,可提供現(xiàn)代化的圖像解碼方法。 使用該類取代 BitmapFactory 和 BitmapFactory.Options API。

動(dòng)畫

Android 9 引入了 AnimatedImageDrawable 類,用于繪制和顯示 GIF 和 WebP 動(dòng)畫圖像。

自動(dòng)填充框架

Android 9 引入了多項(xiàng)改進(jìn),自動(dòng)填充服務(wù)可以利用這些改進(jìn)進(jìn)一步增強(qiáng)用戶填寫表單時(shí)的體驗(yàn)。 如需詳細(xì)了解如何在您的應(yīng)用中使用自動(dòng)填充功能,請(qǐng)參閱自動(dòng)填充框架指南。

更多新功能

行為變更

比較多,建議直接看文檔

所有應(yīng)用

以 API 級(jí)別 28+ 為目標(biāo)的應(yīng)用

我們公司的app需要注意的幾個(gè)點(diǎn),可能對(duì)我們有影響

  • 限制訪問(wèn)電話號(hào)碼
  • 使用非 SDK 接口的限制
  • 傳輸層安全協(xié)議 (TLS) 實(shí)現(xiàn)變更
  • Android 9 完全取消了對(duì) Android 安全加密文件 (ASEC) 的支持。
  • 現(xiàn)在強(qiáng)制執(zhí)行 FLAG_ACTIVITY_NEW_TASK 要求
  • 屏幕旋轉(zhuǎn)變更
  • 構(gòu)建序列號(hào)棄用(在 Android 9 中,Build.SERIAL 始終設(shè)置為 "UNKNOWN" 以保護(hù)用戶的隱私。)
  • 無(wú)法再讓多個(gè)進(jìn)程共用同一 WebView 數(shù)據(jù)目錄
  • 在 Android 9 之前,暫停的應(yīng)用發(fā)出的通知會(huì)被取消。 從 Android 9 開始,暫停的應(yīng)用發(fā)出的通知將被隱藏,直至應(yīng)用繼續(xù)運(yùn)行。

對(duì)于非 SDK 接口的限制

無(wú)論是直接使用還是通過(guò)反射或 JNI 間接使用。 無(wú)論應(yīng)用是引用非 SDK 接口還是嘗試使用反射或 JNI 獲取其句柄,均適用這些限制。

下面是名單類型:

  • 白名單:SDK
  • 淺灰名單:仍可以訪問(wèn)的非 SDK 函數(shù)/字段。
  • 深灰名單:
    • 對(duì)于目標(biāo) SDK 低于 API 級(jí)別 28 的應(yīng)用,允許使用深灰名單接口。
    • 對(duì)于目標(biāo) SDK 為 API 28 或更高級(jí)別的應(yīng)用:行為與黑名單相同
  • 黑名單:受限,無(wú)論目標(biāo) SDK 如何。 平臺(tái)將表現(xiàn)為似乎接口并不存在。 例如,無(wú)論應(yīng)用何時(shí)嘗試使用接口,平臺(tái)都會(huì)引發(fā) NoSuchMethodError/NoSuchFieldException,即使應(yīng)用想要了解某個(gè)特殊類別的字段/函數(shù)名單,平臺(tái)也不會(huì)包含接口。
名單類型

下表詳細(xì)說(shuō)明了各種訪問(wèn)方式及其相應(yīng)的結(jié)果。

名單類型

講解視頻

veridex檢測(cè),需要翻墻

擴(kuò)展閱讀

AndroidX了解一下

Android Jetpack

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容