国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

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

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

掃碼添加小助手

加入工程師交流群

前言

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

新功能和 API

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

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

帶主題的應用圖標

讓應用圖標隨著主題換色。

首先應用要提供自適應圖標和單色應用圖標,并通過清單中的 元素指向該單色應用圖標。

然后需要用戶在系統設置中啟用帶主題的應用圖標。

這樣系統會根據壁紙和主題來確定色調顏色,然后該顏色將應用于單色應用圖標。

剪貼板預覽

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

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

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

廣播接收

在以前任何應用都可以向動態注冊的接收器發送不受保護的廣播,除非該接收器受簽名權限的保護。Android 13 允許用戶指定是否接受外部應用的廣播,前提是啟用了DYNAMIC_RECEIVER_EXPLICIT_EXPORT_REQUIRED 兼容性框架 (默認是關閉的)。

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

context.registerReceiver(sharedBroadcastReceiver, intentFilter,
    RECEIVER_EXPORTED)


context.registerReceiver(privateBroadcastReceiver, intentFilter,
    RECEIVER_NOT_EXPORTED)

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

照片選擇器

Android 13 提供了照片選擇器,這樣無需向應用授予整個媒體庫的訪問權限。

使用照片選擇器需要 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 設備新權限 Android 13 之前針對 WIFI 的權限是 ACCESS_FINE_LOCATION,即使我們不想定位只想查詢一下附近的 WIFI。Android 13 提供了一個新的運行時權限 NEARBY_WIFI_DEVICES 來專門針對這種情況,這個權限影響的 API 如下:
  • WifiManager

    • startLocalOnlyHotspot()

  • WifiAwareManager

    • attach()

  • WifiAwareSession

    • publish()

    • subscribe()

  • WifiP2pManager

    • addLocalService()

    • connect()

    • createGroup()

    • discoverPeers()

    • discoverServices()

    • requestDeviceInfo()

    • requestGroupInfo()

    • requestPeers()

  • WifiRttManager

    • startRanging()

使用以上 API 需要申請 NEARBY_WIFI_DEVICES 權限。

精確鬧鐘權限

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

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

適配 Android 13

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

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

Android 13 (API 級別 33) 引入了運行時通知權限 POST_NOTIFICATIONS,如果應用以 Android 13 為目標平臺,當需要發送通知的時候就需要動態請求該權限,否則無法發出通知。

注意:媒體相關的通知不受這個權限的影響,依然可以正常進行通知;前臺服務的通知則受本權限影響。

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

剪切板脫敏

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

代碼如下:

// 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)
    }
}

添加標志后的效果如下:

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

附近 WIFI 設備新權限

上面提到了,針對附近 WIFI 設備提供了一個新的運行時權限 NEARBY_WIFI_DEVICES

如果應用不會使用 WIFI 相關 API 進行定位,那么可以將 android:usesPermissionFlags 屬性設置為 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 以應對 Android 12 及以下設備,不過可以為其設置最高 SDK 版本,如下:

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

細化媒體權限 如果應用以 Android 13 為目標平臺,那么如果要訪問媒體文件時就不能像之前那樣請求 READ_EXTERNAL_STORAGE 權限,Android 13 提供了更加細化的權限,必須請求以下權限來代替:

媒體類型

請求權限

圖片和照片

READ_MEDIA_IMAGES
視頻 READ_MEDIA_VIDEO
音頻文件 READ_MEDIA_AUDIO

這樣可以更加保護用戶的隱私。

如果同時請求 READ_MEDIA_IMAGES 權限和 READ_MEDIA_VIDEO 權限,只會顯示一個系統權限對話框。

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

后臺使用身體傳感器的新權限

如果應用以 Android 13 為目標平臺,并且在后臺運行時需要訪問身體傳感器信息,那么除了現有的 BODY_SENSORS 權限外,還需要聲明新的 BODY_SENSORS_BACKGROUND 權限。

總結

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


審核編輯 :李倩


聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • Android
    +關注

    關注

    12

    文章

    4026

    瀏覽量

    134021
  • 模擬器
    +關注

    關注

    2

    文章

    1011

    瀏覽量

    45687

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

文章出處:【微信號:Google_Developers,微信公眾號:谷歌開發者】歡迎添加關注!文章轉載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    蔡司軟件|ZEISS CALYPSO在醫療行業的實用新功能

    在醫療行業,高精度測量是確保產品壽命和患者舒適度的核心環節。面對植入物、醫用橡塑等復雜部件的嚴苛檢測需求,ZEISS CALYPSO軟件持續突破技術邊界,通過一系列創新功能匹配行業標準。從ZEISS
    的頭像 發表于 02-10 09:40 ?441次閱讀
    蔡司軟件|ZEISS CALYPSO在醫療行業的實用<b class='flag-5'>新功能</b>

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

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

    MTK Android 13狀態欄耳機圖標“失蹤”?這個SystemUI配置修改幫你找回

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

    谷歌Android Studio Otter 3功能更新發布

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

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

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

    瑞薩RA8D1 MCU如何進行OSPI Flash驅動的適配工作

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

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

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

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

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

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

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

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

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

    【HarmonyOS 5】應用更新功能詳解

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

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

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

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

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

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

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

    NVIDIA NIM微服務現已推出

    生成式 AI 為 PC 和工作帶來了新功能,包括游戲助手、增強的內容創作和生產力工具等。
    的頭像 發表于 04-08 16:56 ?941次閱讀