91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Android 13帶來了哪些新功能?需要哪些適配工作?

谷歌開發(fā)者 ? 來源:BennuCTech ? 作者:BennuC ? 2022-11-04 10:07 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

前言

目前 Google 已經(jīng)發(fā)布了 Android 13 的正式版,雖然國內(nèi)的手機(jī)能用上 Android 13 還有一段時間,不過開發(fā)者們可以通過模擬器來體驗,那么我們來看看 Android 13 都有哪些重要的改變,我們適配的話需要做哪些工作?

新功能和 API

先來看看 Android 13 帶來了哪些新的改變,這里我挑了一些對我們比較重要的來說。具體可以參考:

https://developer.android.google.cn/about/versions/13/features

帶主題的應(yīng)用圖標(biāo)

讓應(yīng)用圖標(biāo)隨著主題換色。

首先應(yīng)用要提供自適應(yīng)圖標(biāo)和單色應(yīng)用圖標(biāo),并通過清單中的 元素指向該單色應(yīng)用圖標(biāo)。

然后需要用戶在系統(tǒng)設(shè)置中啟用帶主題的應(yīng)用圖標(biāo)。

這樣系統(tǒng)會根據(jù)壁紙和主題來確定色調(diào)顏色,然后該顏色將應(yīng)用于單色應(yīng)用圖標(biāo)。

剪貼板預(yù)覽

從 Android 13 開始,將內(nèi)容添加到剪貼板時,我們可以預(yù)覽復(fù)制的內(nèi)容。如下:0d9bebec-5be3-11ed-a3b6-dac502259ad0.gifAndroid 13 也加入了對剪貼板敏感內(nèi)容的脫敏處理,后面會詳細(xì)說。

提高了啟動畫面效率 Android 12 引入了 Splash Screen API,可以幫助開發(fā)者更好的開發(fā)啟動頁面,果不其然 Android 13 就進(jìn)行了完善,包括下面兩項改動:
  • 系統(tǒng)會直接從 AnimatedVectorDrawable 推斷動畫時長。在 Android 13 之前,必須直接設(shè)置 windowSplashScreenAnimationDuration;

  • 使用新的 windowSplashScreenBehavior 屬性可以更好地控制應(yīng)用是否始終在 Android 13 及更高版本中的啟動畫面上顯示該圖標(biāo)。

廣播接收

在以前任何應(yīng)用都可以向動態(tài)注冊的接收器發(fā)送不受保護(hù)的廣播,除非該接收器受簽名權(quán)限的保護(hù)。Android 13 允許用戶指定是否接受外部應(yīng)用的廣播,前提是啟用了DYNAMIC_RECEIVER_EXPLICIT_EXPORT_REQUIRED 兼容性框架 (默認(rèn)是關(guān)閉的)。

在注冊廣播的時候設(shè)置一個 Flag,如下:

context.registerReceiver(sharedBroadcastReceiver, intentFilter,
    RECEIVER_EXPORTED)


context.registerReceiver(privateBroadcastReceiver, intentFilter,
    RECEIVER_NOT_EXPORTED)

注意: 如果啟用了 DYNAMIC_RECEIVER_EXPLICIT_EXPORT_REQUIRED,在注冊廣播的時候就必須設(shè)置 RECEIVER_EXPORTED 或 RECEIVER_NOT_EXPORTED。

照片選擇器

Android 13 提供了照片選擇器,這樣無需向應(yīng)用授予整個媒體庫的訪問權(quán)限。

使用照片選擇器需要 1.6.0-alpha05 或更高版本的 androidx.activity 庫,主要 API:
  • PickVisualMedia,用于選擇單張圖片或單個視頻。

  • PickMultipleVisualMedia,用于選擇多張圖片或多個視頻。

示例代碼如下:

val pickMedia = registerForActivityResult(PickVisualMedia()) { uri ->
    if (uri != null) {
        Log.d("PhotoPicker", "Selected URI: $uri")
    } else {
        Log.d("PhotoPicker", "No media selected")
    }
}


pickMedia.launch(PickVisualMediaRequest(PickVisualMedia.ImageAndVideo))


pickMedia.launch(PickVisualMediaRequest(PickVisualMedia.ImageOnly))


pickMedia.launch(PickVisualMediaRequest(PickVisualMedia.VideoOnly))


val mimeType = "image/gif"
pickMedia.launch(PickVisualMediaRequest(PickVisualMedia.SingleMimeType(mimeType)))
附近 WIFI 設(shè)備新權(quán)限 Android 13 之前針對 WIFI 的權(quán)限是 ACCESS_FINE_LOCATION,即使我們不想定位只想查詢一下附近的 WIFI。Android 13 提供了一個新的運行時權(quán)限 NEARBY_WIFI_DEVICES 來專門針對這種情況,這個權(quán)限影響的 API 如下:
  • WifiManager

    • startLocalOnlyHotspot()

  • WifiAwareManager

    • attach()

  • WifiAwareSession

    • publish()

    • subscribe()

  • WifiP2pManager

    • addLocalService()

    • connect()

    • createGroup()

    • discoverPeers()

    • discoverServices()

    • requestDeviceInfo()

    • requestGroupInfo()

    • requestPeers()

  • WifiRttManager

    • startRanging()

使用以上 API 需要申請 NEARBY_WIFI_DEVICES 權(quán)限。

精確鬧鐘權(quán)限

Android 13 提供了一個新的鬧鐘權(quán)限 USE_EXACT_ALARM,它類似于 SCHEDULE_EXACT_ALARM 不過是自動授權(quán)的,不需要用戶手動授權(quán)。

Google 對這個權(quán)限的要求是必須是鬧鐘、計時器或提供活動通知的日歷應(yīng)用才可以使用,Google Play 會對使用這個權(quán)限的應(yīng)用進(jìn)行審核。不過目前國內(nèi)還沒有限制,后續(xù)各大應(yīng)用市場應(yīng)該也會跟進(jìn)限制。

適配 Android 13

下面來看看適配 Android 13 需要注意哪些事項。這里只列舉一些比較常用的功能,全部內(nèi)容可以參考:

https://developer.android.google.cn/about/versions/13/behavior-changes-all 通知的運行時權(quán)限

Android 13 (API 級別 33) 引入了運行時通知權(quán)限 POST_NOTIFICATIONS,如果應(yīng)用以 Android 13 為目標(biāo)平臺,當(dāng)需要發(fā)送通知的時候就需要動態(tài)請求該權(quán)限,否則無法發(fā)出通知。

注意:媒體相關(guān)的通知不受這個權(quán)限的影響,依然可以正常進(jìn)行通知;前臺服務(wù)的通知則受本權(quán)限影響。

可以通過 NotificationManager 的 areNotificationsEnabled() 來檢查應(yīng)用是否可以發(fā)送通知。

剪切板脫敏

上面我們提到 Android 13 提供了剪切板預(yù)覽功能,但是如果復(fù)制的是敏感內(nèi)容的話,可以在調(diào)用 ClipboardManager#setPrimaryClip() 之前向 ClipData 的 ClipDescription 添加一個標(biāo)志,這樣預(yù)覽的時候就看不到敏感內(nèi)容了。

代碼如下:

// When your app targets API level 33 or higher
clipData.apply {
    description.extras = PersistableBundle().apply {
        putBoolean(ClipDescription.EXTRA_IS_SENSITIVE, true)
    }
}


// If your app targets a lower API level
clipData.apply {
    description.extras = PersistableBundle().apply {
        putBoolean("android.content.extra.IS_SENSITIVE", true)
    }
}

添加標(biāo)志后的效果如下:

0db5c5ee-5be3-11ed-a3b6-dac502259ad0.png

附近 WIFI 設(shè)備新權(quán)限

上面提到了,針對附近 WIFI 設(shè)備提供了一個新的運行時權(quán)限 NEARBY_WIFI_DEVICES

如果應(yīng)用不會使用 WIFI 相關(guān) API 進(jìn)行定位,那么可以將 android:usesPermissionFlags 屬性設(shè)置為 neverForLocation:

<manifest ...>
     <uses-permission android:name="android.permission.NEARBY_WIFI_DEVICES"
                     android:usesPermissionFlags="neverForLocation" /> 
    <application ...>
        ...
    application>
manifest>

因為 NEARBY_WIFI_DEVICES 只在 Android 13 上,所以我們還要保留 ACCESS_FINE_LOCATION 以應(yīng)對 Android 12 及以下設(shè)備,不過可以為其設(shè)置最高 SDK 版本,如下:

<manifest ...>
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"
                     android:maxSdkVersion="32" /> 
    <application ...>
        ...
    application>
manifest>

細(xì)化媒體權(quán)限 如果應(yīng)用以 Android 13 為目標(biāo)平臺,那么如果要訪問媒體文件時就不能像之前那樣請求 READ_EXTERNAL_STORAGE 權(quán)限,Android 13 提供了更加細(xì)化的權(quán)限,必須請求以下權(quán)限來代替:

媒體類型

請求權(quán)限

圖片和照片

READ_MEDIA_IMAGES
視頻 READ_MEDIA_VIDEO
音頻文件 READ_MEDIA_AUDIO

這樣可以更加保護(hù)用戶的隱私。

如果同時請求 READ_MEDIA_IMAGES 權(quán)限和 READ_MEDIA_VIDEO 權(quán)限,只會顯示一個系統(tǒng)權(quán)限對話框。

注意: 如果您的應(yīng)用只需要訪問圖片、照片和視頻,請考慮使用照片選擇器,而不是聲明 READ_MEDIA_IMAGESREAD_MEDIA_VIDEO 權(quán)限。

后臺使用身體傳感器的新權(quán)限

如果應(yīng)用以 Android 13 為目標(biāo)平臺,并且在后臺運行時需要訪問身體傳感器信息,那么除了現(xiàn)有的 BODY_SENSORS 權(quán)限外,還需要聲明新的 BODY_SENSORS_BACKGROUND 權(quán)限。

總結(jié)

以上就是 Android 13 版本中對開發(fā)者來說比較關(guān)心的新功能和適配方案,如果想了解更全面的信息,可以參考官方網(wǎng)站


審核編輯 :李倩


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • Android
    +關(guān)注

    關(guān)注

    12

    文章

    4028

    瀏覽量

    134068
  • 模擬器
    +關(guān)注

    關(guān)注

    2

    文章

    1011

    瀏覽量

    45698

原文標(biāo)題:Android 13 帶來了哪些新功能?需要哪些適配工作?| 開發(fā)者說·DTalk

文章出處:【微信號:Google_Developers,微信公眾號:谷歌開發(fā)者】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    蔡司軟件|ZEISS CALYPSO在醫(yī)療行業(yè)的實用新功能

    在醫(yī)療行業(yè),高精度測量是確保產(chǎn)品壽命和患者舒適度的核心環(huán)節(jié)。面對植入物、醫(yī)用橡塑等復(fù)雜部件的嚴(yán)苛檢測需求,ZEISS CALYPSO軟件持續(xù)突破技術(shù)邊界,通過一系列創(chuàng)新功能匹配行業(yè)標(biāo)準(zhǔn)。從ZEISS
    的頭像 發(fā)表于 02-10 09:40 ?460次閱讀
    蔡司軟件|ZEISS CALYPSO在醫(yī)療行業(yè)的實用<b class='flag-5'>新功能</b>

    睿擎SDK V1.7.5重磅升級:AMP虛擬網(wǎng)卡NFS支持,EtherCAT多電機(jī)控制,RC3562新功能全面加持

    親愛的開發(fā)者朋友們,睿擎平臺又迎來了一次重磅升級!本次發(fā)布的RuiChingSDKV1.7.5版本,帶來了一系列令人振奮的新功能和優(yōu)化,為工業(yè)物聯(lián)網(wǎng)和邊緣計算應(yīng)用提供更強(qiáng)大的支持。讓我們一起
    的頭像 發(fā)表于 02-04 18:35 ?716次閱讀
    睿擎SDK V1.7.5重磅升級:AMP虛擬網(wǎng)卡NFS支持,EtherCAT多電機(jī)控制,RC3562<b class='flag-5'>新功能</b>全面加持

    MTK Android 13狀態(tài)欄耳機(jī)圖標(biāo)“失蹤”?這個SystemUI配置修改幫你找回

    (聯(lián)發(fā)科)Android 13 平臺的一則實際配置修改為例,拆解其背后的作用,幫大家理解 SystemUI 資源配置的 “小改動” 如何解決 “大問題”。
    的頭像 發(fā)表于 02-03 15:52 ?1007次閱讀
    MTK <b class='flag-5'>Android</b> <b class='flag-5'>13</b>狀態(tài)欄耳機(jī)圖標(biāo)“失蹤”?這個SystemUI配置修改幫你找回

    谷歌Android Studio Otter 3功能更新發(fā)布

    我們很高興地宣布,Android Studio Otter 3 功能更新穩(wěn)定版現(xiàn)已發(fā)布!本次更新干貨滿滿,不僅重磅升級了 Android Studio 中的智能體工作流,還為開發(fā)者提供
    的頭像 發(fā)表于 01-28 14:15 ?640次閱讀
    谷歌<b class='flag-5'>Android</b> Studio Otter 3<b class='flag-5'>功能</b>更新發(fā)布

    【工具升級】 I OrCAD X 全版本新功能匯總,高效搞定電路協(xié)同設(shè)計

    在電子電路設(shè)計領(lǐng)域,一款功能強(qiáng)大、適配協(xié)同工作的工具,能大幅提升設(shè)計效率與精準(zhǔn)度。OrCADX系列版本更新,圍繞協(xié)作、易用性、仿真分析三大核心,為個人及小型設(shè)計團(tuán)隊帶來全方位的
    的頭像 發(fā)表于 01-16 21:43 ?1223次閱讀
    【工具升級】 I OrCAD X 全版本<b class='flag-5'>新功能</b>匯總,高效搞定電路協(xié)同設(shè)計

    瑞薩RA8D1 MCU如何進(jìn)行OSPI Flash驅(qū)動的適配工作

    之前也說了廣大不同廠家的OSPI Flash,雖然說大部分功能相似,大部分功能也可以復(fù)用,但是不同廠家的OSPI Flash還是存在或多或少的差別。因此如果客戶出于成本的考慮,需要更換OSPI Flash的時候,是
    的頭像 發(fā)表于 09-23 10:43 ?4200次閱讀
    瑞薩RA8D1 MCU如何進(jìn)行OSPI Flash驅(qū)動的<b class='flag-5'>適配</b><b class='flag-5'>工作</b>

    智能座艙功能測試平臺:驅(qū)動汽車智能化升級的核心驗證引擎

    隨著汽車“新四化”進(jìn)程的不斷深入,智能座艙作為人車交互的核心載體,正以前所未有的速度迭代演進(jìn)。多屏互聯(lián)、智能語音、手勢識別、人臉監(jiān)控等創(chuàng)新功能紛紛落地,在提升駕乘體驗的同時,也為測試驗證帶來了巨大挑戰(zhàn)。海量的功能場景、嚴(yán)苛的響應(yīng)
    的頭像 發(fā)表于 09-08 11:01 ?2458次閱讀
    智能座艙<b class='flag-5'>功能</b>測試平臺:驅(qū)動汽車智能化升級的核心驗證引擎

    蔡司軟件 | ZEISS CALYPSO在航空航天行業(yè)的實用新功能

    蔡司軟件 | ZEISS CALYPSO在航空航天行業(yè)的實用新功能
    的頭像 發(fā)表于 08-08 15:37 ?874次閱讀
    蔡司軟件 | ZEISS CALYPSO在航空航天行業(yè)的實用<b class='flag-5'>新功能</b>

    API如何加速電商新功能上線

    ? 在電子商務(wù)領(lǐng)域,競爭日益激烈,用戶需求變化迅速。企業(yè)必須快速推出新功能,如個性化推薦、實時庫存更新或無縫支付體驗,以保持競爭力。傳統(tǒng)開發(fā)模式往往耗時費力,但通過應(yīng)用編程接口(API),電商企業(yè)能
    的頭像 發(fā)表于 07-18 10:21 ?494次閱讀
    API如何加速電商<b class='flag-5'>新功能</b>上線

    【文章轉(zhuǎn)載】CANoe產(chǎn)品體系19版本新功能(下) - 基礎(chǔ)功能與XIL測試

    新版本持續(xù)為智能電動網(wǎng)聯(lián)汽車軟件開發(fā)測試帶來新功能,IDE開發(fā)環(huán)境支持.NET8.0、Python、MATLAB2024b,VisualStudioCode集成測試開發(fā)和調(diào)試功能,支持
    的頭像 發(fā)表于 06-25 10:03 ?1791次閱讀
    【文章轉(zhuǎn)載】CANoe產(chǎn)品體系19版本<b class='flag-5'>新功能</b>(下) - 基礎(chǔ)<b class='flag-5'>功能</b>與XIL測試

    【HarmonyOS 5】應(yīng)用更新功能詳解

    與迭代需求的優(yōu)選方案。這類彈窗主要用于向用戶推送新版本更新通知,而在引導(dǎo)用戶完成更新操作的實現(xiàn)層面,HarmonyOS 提供了完善的應(yīng)用市場能力支撐,例如本文所介紹的 updateManager(更新功能
    發(fā)表于 06-22 18:44

    一文掌握RK3568開發(fā)板Android13掛載Windows共享目錄

    ?mount命令掛載samba共享?件夾,需要kernel?持CIFS,因而需要修改Android13源碼內(nèi)核配置,如下所示: vi kernel-5.10/arch/arm64/configs
    發(fā)表于 04-16 13:55

    如何在i.mx8mq的android13上啟用Widevine DRM?

    /widevine 文件夾。 2. Android 13 顯示不支持。 Android 13 中沒有 vendor/widevine 文件夾。 那么,如何在
    發(fā)表于 04-11 06:44

    多顯示器在運行Android Automotive 8 i.MX Automotive 13.0.0 1.1.0系統(tǒng)的1.1.0 EVK中無法正常工作怎么解決?

    我們在 imx8 QuadXPlus EVK 中運行 Android Automotive 13.0.0 1.1.0 映像。我們閃現(xiàn)的圖像是Android 13 1.1.0 圖像(超鏈接)。 設(shè)置
    發(fā)表于 04-10 06:02

    NVIDIA NIM微服務(wù)現(xiàn)已推出

    生成式 AI 為 PC 和工作帶來了新功能,包括游戲助手、增強(qiáng)的內(nèi)容創(chuàng)作和生產(chǎn)力工具等。
    的頭像 發(fā)表于 04-08 16:56 ?948次閱讀