在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

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

如何在Android 12中運行WorkManager

谷歌開發(fā)者 ? 來源:Android開發(fā)者 ? 作者:Android ? 2021-10-28 11:18 ? 次閱讀

Android 12 (API 級別為 31) 引入了前臺服務(wù)啟動限制。除少部分特殊場景外,如果您的應(yīng)用的 targetSdkVersion 是 Android 12 或者更高 API 級別的話,應(yīng)用在后臺運行時將不能再啟動前臺服務(wù)。這意味著,如果應(yīng)用當(dāng)前狀態(tài)不符合后臺啟動服務(wù)的條件,調(diào)用 setForeground 時可能會拋出異常。

前臺服務(wù)啟動限制

https://developer.android.google.cn/about/versions/12/foreground-services

特殊場景

https://developer.android.google.cn/guide/components/foreground-services#background-start-restriction-exemptions

setForeground

https://developer.android.google.cn/reference/androidx/work/ListenableWorker#setForegroundAsync(androidx.work.ForegroundInfo)

異常

https://developer.android.google.cn/reference/android/app/ForegroundServiceStartNotAllowedException

因此,我們在 WorkManager 2.7 中做出了部分改進(jìn),使得應(yīng)用在遵守后臺限制的同時可以輕松地安排重要任務(wù)。通過加急任務(wù),應(yīng)用可以輕松地運行耗時短且高優(yōu)先級的任務(wù),例如發(fā)送一條聊天信息或者往社交網(wǎng)絡(luò)上傳一張圖片。推薦使用加急任務(wù)來啟動需要立即執(zhí)行且即使用戶將應(yīng)用放至后臺也能繼續(xù)執(zhí)行的任務(wù)。

加急任務(wù)

https://developer.android.google.cn/about/versions/12/foreground-services#expedited-jobs

如需設(shè)置加急任務(wù),可通過 WorkRequest 的 Builder 對象調(diào)用 setExpedited() 方法:

val request = OneTimeWorkRequestBuilder《HighPriorityWorker》() .setExpedited(OutOfQuotaPolicy.RUN_AS_NON_EXPEDITED_WORK_REQUEST) .build()WorkManager.getInstance(context).enqueue(request)

通過調(diào)用 setExpedited() 告訴框架該任務(wù)是重要的并且比其他任務(wù)具有更高的優(yōu)先級。請注意,我們在調(diào)用 setExpedited() 方法時傳入了 OutOfQuotaPolicy 參數(shù)。加急任務(wù)受基于應(yīng)用待機(jī)群組 (App Standby Buckets) 的配額限制,當(dāng)您的應(yīng)用嘗試在超出配額的情況下執(zhí)行加急任務(wù)時,WorkManager 會根據(jù) OutOfQuotaPolicy 參數(shù)做出相應(yīng)的行為: 完全放棄加急任務(wù)請求 (DROP_WORK_REQUEST),或者將該加急任務(wù)降級至普通任務(wù) (RUN_AS_NON_EXPEDITED_WORK_REQUEST)。加急任務(wù)很重要,但并不意味著它可以一直執(zhí)行,您需要將配額視為執(zhí)行加急任務(wù)的時間限制。

OutOfQuotaPolicy

https://developer.android.google.cn/reference/androidx/work/OutOfQuotaPolicy

應(yīng)用待機(jī)群組 (App Standby Buckets)

https://developer.android.google.cn/topic/performance/appstandby

WorkManager 2.7 是向后兼容的,可以在 Android 12 之前的系統(tǒng)上運行。當(dāng)在 Android 11 或之前版本的系統(tǒng)上調(diào)用 setExpedited() 時,WorkManager 將默認(rèn)使用前臺服務(wù)代替加急任務(wù)。

想了解 WorkManager 中 setExpedited() API 的實戰(zhàn),請參閱官方文檔:

WorkManager 示例

https://github.com/android/architecture-components-samples/tree/android-s/WorkManagerSample

加急任務(wù)

https://developer.android.google.cn/topic/libraries/architecture/workmanager/how-to/define-work#expedited-jobs

您可以在官方發(fā)布說明中查看 WorkManager 每個版本中變更及優(yōu)化的詳細(xì)列表,以及 WorkManager 2.6 和 WorkManager 2.7 的發(fā)布說明。

WorkManager 2.6

https://developer.android.google.cn/jetpack/androidx/releases/work#2.6.0

WorkManager 2.7

https://developer.android.google.cn/jetpack/androidx/releases/work#2.7.0

責(zé)任編輯:haq

聲明:本文內(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

    文章

    3946

    瀏覽量

    128168
  • 服務(wù)器
    +關(guān)注

    關(guān)注

    12

    文章

    9367

    瀏覽量

    86273

原文標(biāo)題:在 Android 12 中使用 WorkManager

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

收藏 人收藏

    評論

    相關(guān)推薦

    Spire.XLS for Android via Java組件說明

    Spire.XLS for Android via Java 是一款專業(yè)的 Android Excel 組件,用于在 Android 手機(jī)應(yīng)用程序創(chuàng)建、操作和轉(zhuǎn)換 Excel 工作表
    的頭像 發(fā)表于 01-24 12:16 ?130次閱讀
    Spire.XLS for <b class='flag-5'>Android</b> via Java組件說明

    何在Windows中使用MTP協(xié)議

    、圖片等)的通信協(xié)議,它被廣泛用于Android設(shè)備。以下是如何在Windows中使用MTP協(xié)議的詳細(xì)步驟: 1. 確保設(shè)備支持MTP 首先,你需要確認(rèn)你的設(shè)備支持MTP協(xié)議。大多數(shù)現(xiàn)代Android
    的頭像 發(fā)表于 01-03 10:26 ?620次閱讀

    android手機(jī)上emulate應(yīng)用程序的方法

    Android手機(jī)上模擬(emulate)應(yīng)用程序的方法通常涉及到使用Android模擬器(Emulator)或類似的工具來模擬Android環(huán)境,以便在沒有實際物理設(shè)備的情況下運行
    的頭像 發(fā)表于 12-05 15:33 ?557次閱讀

    迅為RK3588開發(fā)板Android12動態(tài)替換開機(jī)logo

    迅為RK3588開發(fā)板Android12動態(tài)替換開機(jī)logo
    的頭像 發(fā)表于 11-15 15:04 ?635次閱讀
    迅為RK3588開發(fā)板<b class='flag-5'>Android12</b>動態(tài)替換開機(jī)logo

    何在Android上構(gòu)建自定義AI功能

    在 "AI on Android Spotlight Week" 期間,我們深入探討了如何將自己的 AI 模型引入 Android 設(shè)備,如手機(jī)、平板電腦等。通過利用
    的頭像 發(fā)表于 11-15 11:51 ?652次閱讀

    何在反激式轉(zhuǎn)換器緩沖FET關(guān)斷電壓

    上一期,我們介紹了如何在正向轉(zhuǎn)換器導(dǎo)通時緩沖輸出整流器的電壓。現(xiàn)在,我們看一下如何在反激式轉(zhuǎn)換器緩沖 FET 關(guān)斷電壓。
    的頭像 發(fā)表于 11-04 09:48 ?389次閱讀
    如<b class='flag-5'>何在</b>反激式轉(zhuǎn)換器<b class='flag-5'>中</b>緩沖FET關(guān)斷電壓

    【軟件干貨】Android應(yīng)用進(jìn)程如何保活?

    Android應(yīng)用程序,為了保證應(yīng)用的正常運行和穩(wěn)定性,有時需要對應(yīng)用進(jìn)程進(jìn)行保活。以下是一些實現(xiàn)進(jìn)程保活的方法:
    的頭像 發(fā)表于 10-15 17:05 ?614次閱讀
    【軟件干貨】<b class='flag-5'>Android</b>應(yīng)用進(jìn)程如何保活?

    何在Altium Designer快速定位器件

    想知道如何在Altium Designer快速定位器件嘛?
    的頭像 發(fā)表于 10-12 09:28 ?5134次閱讀
    如<b class='flag-5'>何在</b>Altium Designer<b class='flag-5'>中</b>快速定位器件

    何在android i2c控制tas5548 ?

    我想在 android i2c控制 tas5548 因為以前沒有做過驅(qū)動編程 所以想要一個現(xiàn)成驅(qū)動源碼可供學(xué)習(xí),哪怕只能實現(xiàn)控制聲音大小. 硬件平臺是rk3288 安卓系統(tǒng)是 android 4.4.2 / linux 內(nèi)核 3.1 非常感謝
    發(fā)表于 09-05 07:30

    何在反激式拓?fù)?b class='flag-5'>中實現(xiàn)軟啟動

    電子發(fā)燒友網(wǎng)站提供《如何在反激式拓?fù)?b class='flag-5'>中實現(xiàn)軟啟動.pdf》資料免費下載
    發(fā)表于 09-04 11:09 ?0次下載
    如<b class='flag-5'>何在</b>反激式拓?fù)?b class='flag-5'>中</b>實現(xiàn)軟啟動

    何在FPGA實現(xiàn)隨機(jī)數(shù)發(fā)生器

    分享如何在Xilinx Breadboardable Spartan-7 FPGA, CMOD S7實現(xiàn)4位偽隨機(jī)數(shù)發(fā)生器(PRNGs)。
    的頭像 發(fā)表于 08-06 11:20 ?819次閱讀
    如<b class='flag-5'>何在</b>FPGA<b class='flag-5'>中</b>實現(xiàn)隨機(jī)數(shù)發(fā)生器

    請問esp-idf 5.0如何在運行時調(diào)節(jié)MCPWM的定時器頻率?

    idf5.0只提供了創(chuàng)建MCPWM時通過結(jié)構(gòu)體mcpwm_timer_config_t初始化定時器頻率的方法,沒有提供類似v4.0版本的mcpwm_set_frequence()函數(shù)。 如何在運行時調(diào)節(jié)MCPWM的定時器頻率?
    發(fā)表于 06-12 07:14

    請問cmakelists的變量如何在程序中使用?

    大家好, 我有個問題請教,cmakelists.txt的變量如何在程序中使用?比如以下cmakelists.txt文件的PROJECT_VER變量,我如何在c程序中使用?試了很多辦
    發(fā)表于 06-11 07:34

    何在代碼動態(tài)修改手指電容?

    何在代碼動態(tài)修改手指電容
    發(fā)表于 05-22 07:11

    何在PSoC62 Evaluation kit開發(fā)板上運行RT-Thread呢?

    本文主要介紹如何在PSoC62 Evaluation kit開發(fā)板上運行RT-Thread,如何連接CYW43012 WiFi藍(lán)牙模組,以及如何進(jìn)行WiFi聯(lián)網(wǎng)、網(wǎng)絡(luò)延遲、網(wǎng)絡(luò)帶寬測試。
    的頭像 發(fā)表于 02-27 10:49 ?1133次閱讀
    如<b class='flag-5'>何在</b>PSoC62 Evaluation kit開發(fā)板上<b class='flag-5'>運行</b>RT-Thread呢?
    主站蜘蛛池模板: 亚洲色图综合图区 | 国产免费高清在线精品一区 | 欧美白人极品性喷潮 | 人人做人人澡人人人爽 | 国产福利不卡一区二区三区 | 亚洲影院手机版777点击进入影院 | 天天干天天色天天射 | 日本视频不卡 | 天天操天天射天天色 | 草草影院www色极品欧美 | 欧美视频综合 | 69xxxxxxxxxhd日本 69xxxx女人 | 欧美伦理一区二区三区 | 国内精品视频免费观看 | 国产成人啪午夜精品网站 | 午夜久久久久久亚洲国产精品 | 午夜久久久久久网站 | 一级特黄aa大片免费 | 四虎最新网 | 激情婷婷 | 国产精品7m凸凹视频分类大全 | 欧美手机看片 | 一区二区三区四区在线 | 99久久婷婷国产综合精品电影 | 在线观看深夜观看网站免费 | 青草青视频在线观看 | 国产主播一区二区 | 天天干天天做天天操 | 色综合天天综合给合国产 | 国产精品美女在线观看 | 曰本女人一级毛片看一级毛 | 一级特黄性生活大片免费观看 | 黄色软件入口 | 日韩黄a级成人毛片 | 永久免费观看视频 | 亚洲一区小说区中文字幕 | 久青草国产手机在线观 | 综合色吧 | 女生扒开尿口让男生舔 | 欧美seav在线 | 亚色在线 |