๊นจ์•Œ ๊ฐœ๋… ๐Ÿ“‘/Android

[Android] WorkManager - ์ œ์•ฝ ์กฐ๊ฑด (Constraints)

interfacer_han 2024. 6. 17. 20:11

#1 ์ด์ „ ๊ธ€

 

[Android] WorkManager - ๊ธฐ์ดˆ

#1 ์ด์ „ ๊ธ€ [Android] WorkManager - ๊ฐœ์š”#1 WorkManager๋Š” '์ง€์—ฐ ๊ฐ€๋Šฅํ•œ ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์ž‘์—…'์˜ ๊ด€๋ฆฌ์ž WorkManager๋ฅผ ์‚ฌ์šฉํ•œ ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์ž‘์—… - Kotlin | Android DevelopersAndroid์—๋Š” ๋ณด์žฅ๋œ ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์ž‘์—…์„ ์œ„ํ•œ ๋‹ค

kenel.tistory.com

์œ„ ๊ฒŒ์‹œ๊ธ€์˜ ์™„์„ฑ๋œ ์•ฑ์„ ์ผ๋ถ€ ์ˆ˜์ •ํ•ด์„œ, WorkRequest์˜ ์‹คํ–‰์— ํ•„์š”ํ•œ ์กฐ๊ฑด์„ ์„ค์ •ํ•ด๋ณธ๋‹ค.

 

์ž‘์—…๋งˆ๋‹ค ์„œ๋กœ ๋‹ค๋ฅธ ํ™˜๊ฒฝ์—์„œ ์ˆ˜ํ–‰๋˜๊ธฐ๋ฅผ ๋ฐ”๋ž„ ์ˆ˜ ์žˆ๋‹ค. ํ•ด๋‹น ํ™˜๊ฒฝ์„ ๋‚˜ํƒ€๋‚ด๋Š” ์ œ์•ฝ ์กฐ๊ฑด(constraint)๋ฅผ ํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ ๋ช…์‹œ์ ์ธ ๊ฐ์ฒด๋กœ์„œ ์ •์˜ํ•  ์ˆ˜ ์žˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ๋Œ€์šฉ๋Ÿ‰ ํŒŒ์ผ์„ ์„œ๋ฒ„์— ์ „์†กํ•˜๋Š” ๊ฒฝ์šฐ, ์ธํ„ฐ๋„ท ์—ฐ๊ฒฐ๊ณผ ๋ฐฐํ„ฐ๋ฆฌ๊ฐ€ ์ถฉ์ „๋˜๊ณ  ์žˆ๋Š” ์ƒํƒœ๊ฐ€ ์ œ์•ฝ ์กฐ๊ฑด์œผ๋กœ์„œ ํ•„์š”ํ•  ๊ฒƒ์ด๋‹ค. ์•„๋ž˜์— ์žˆ๋Š” ์ฝ”๋“œ๋ฅผ ๋ณด์ž.

 

#2 ์ฝ”๋“œ ์ˆ˜์ •

#2-1 AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools">

    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

    <application
        ...
    </application>

</manifest>

๋ณธ ๊ฒŒ์‹œ๊ธ€์—์„œ ์‚ฌ์šฉํ•  ์ œ์•ฝ ์กฐ๊ฑด ์ค‘ ์ธํ„ฐ๋„ท ์—ฐ๊ฒฐ์„ ํ™•์ธํ•˜๋Š” ์ฝ”๋“œ๊ฐ€ ์žˆ์œผ๋ฏ€๋กœ, ์œ„์™€ ๊ฐ™์ด ํ•ด๋‹น ๋™์ž‘์— ๋Œ€ํ•œ ๊ถŒํ•œ์„ ๋“ฑ๋กํ•œ๋‹ค.

 

#2-2 MainActivity.kt

// package com.example.constraint

...
import androidx.work.Constraints
import androidx.work.NetworkType

...

class MainActivity : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        ...
    }

    private fun setOneTimeWorkRequest() {
        // ์ œ์•ฝ ์กฐ๊ฑด ๊ฐ์ฒด ๋งŒ๋“ค๊ธฐ
        val constraints = Constraints
            .Builder()
            .setRequiresCharging(true)
            .setRequiredNetworkType(NetworkType.CONNECTED)
            .build()

        // WorkRequest ๊ฐ์ฒด ๋งŒ๋“ค๊ธฐ
        val uploadRequest = OneTimeWorkRequest
            .Builder(UploadWorker::class.java)
            .setConstraints(constraints)
            .build()

        // WorkManager ๊ฐ์ฒด์˜ ์ž‘์—… ํ(Job queue)์— WorkRequest ๋“ฑ๋ก
        ...

        // WorkInfo๋Š” ์ž‘์—…์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ๋‹ด์€ ๊ฐ์ฒด.
        // WorkManager.getWorkInfoByIdLiveData()๋Š” LiveData<WorkInfo>๋ฅผ ๋ฐ˜ํ™˜.
        ...
    }

    private fun setPeriodicWorkRequest() {
        // ์ œ์•ฝ ์กฐ๊ฑด ๊ฐ์ฒด ๋งŒ๋“ค๊ธฐ
        val constraints = Constraints
            .Builder()
            .setRequiresCharging(true)
            .setRequiredNetworkType(NetworkType.CONNECTED)
            .build()

        // WorkRequest ๊ฐ์ฒด ๋งŒ๋“ค๊ธฐ
        val downloadRequest = PeriodicWorkRequest
            .Builder(DownloadWorker::class.java, 15, TimeUnit.MINUTES) // ์•ˆ๋“œ๋กœ์ด๋“œ์—์„œ ํ—ˆ์šฉํ•˜๋Š” PeriodicWorkRequest์˜ ์ตœ์†Œ ์ฃผ๊ธฐ๋Š” 15๋ถ„์ด๋‹ค.
            .setConstraints(constraints)
            .build()

        // WorkManager ๊ฐ์ฒด์˜ ์ž‘์—… ํ(Job queue)์— WorkRequest ๋“ฑ๋ก
        ...

        // WorkInfo๋Š” ์ž‘์—…์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ๋‹ด์€ ๊ฐ์ฒด.
        // WorkManager.getWorkInfoByIdLiveData()๋Š” LiveData<WorkInfo>๋ฅผ ๋ฐ˜ํ™˜.
        ...
    }
}

Constraints ๊ฐ์ฒด๋ฅผ WorkRequest ๊ฐ์ฒด์— ๋„ฃ๋Š” ๋ฐฉ์‹์ด๋‹ค.

 

#3 ์ž‘๋™ ํ™•์ธ

#3-1 ์•ˆ๋“œ๋กœ์ด๋“œ ์ŠคํŠœ๋””์˜ค์—์„œ ์—๋ฎฌ๋ ˆ์ดํ„ฐ์˜ ํ™˜๊ฒฝ์„ ์„ค์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•

'Extended Controls' ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๋ฉด, 

 

์œ„์™€ ๊ฐ™์ด ์—ฌ๋Ÿฌ๊ฐ€์ง€ ์„ค์ •์„ ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ๋‹ค. #3-2์—์„œ๋Š” Cellular ์„ค์ •์„, #3-3์—์„œ๋Š” Battery ์„ค์ •์„ ๊ฑด๋“ค์—ฌ๋ณธ๋‹ค.

 

#3-2 'One Time Request' ๋ฒ„ํŠผ์„ ํด๋ฆญํ–ˆ์„ ๋•Œ์˜ ๋กœ๊ทธ ๋ฉ”์‹œ์ง€

๋”๋ณด๊ธฐ
2024-06-17 18:05:14.642 (MainActivity) UploadWorker's state: ENQUEUED
2024-06-17 18:16:04.288 (UploadWorker) Started at 2024/06/17 09:16:04
2024-06-17 18:16:04.288 (UploadWorker) Progress: 0/100
2024-06-17 18:16:04.288 (UploadWorker) Progress: 1/100
2024-06-17 18:16:04.288 (UploadWorker) Progress: 2/100
2024-06-17 18:16:04.288 (UploadWorker) Progress: 3/100
2024-06-17 18:16:04.288 (UploadWorker) Progress: 4/100
2024-06-17 18:16:04.288 (UploadWorker) Progress: 5/100
2024-06-17 18:16:04.288 (UploadWorker) Progress: 6/100
2024-06-17 18:16:04.288 (UploadWorker) Progress: 7/100
2024-06-17 18:16:04.293 (UploadWorker) Progress: 8/100
2024-06-17 18:16:04.294 (UploadWorker) Progress: 9/100
2024-06-17 18:16:04.295 (UploadWorker) Progress: 10/100
2024-06-17 18:16:04.295 (UploadWorker) Progress: 11/100
2024-06-17 18:16:04.299 (UploadWorker) Progress: 12/100
2024-06-17 18:16:04.299 (UploadWorker) Progress: 13/100
2024-06-17 18:16:04.299 (UploadWorker) Progress: 14/100
2024-06-17 18:16:04.299 (UploadWorker) Progress: 15/100
2024-06-17 18:16:04.299 (UploadWorker) Progress: 16/100
2024-06-17 18:16:04.299 (UploadWorker) Progress: 17/100
2024-06-17 18:16:04.299 (UploadWorker) Progress: 18/100
2024-06-17 18:16:04.299 (UploadWorker) Progress: 19/100
2024-06-17 18:16:04.300 (UploadWorker) Progress: 20/100
2024-06-17 18:16:04.300 (UploadWorker) Progress: 21/100
2024-06-17 18:16:04.300 (UploadWorker) Progress: 22/100
2024-06-17 18:16:04.300 (UploadWorker) Progress: 23/100
2024-06-17 18:16:04.300 (UploadWorker) Progress: 24/100
2024-06-17 18:16:04.300 (UploadWorker) Progress: 25/100
2024-06-17 18:16:04.300 (UploadWorker) Progress: 26/100
2024-06-17 18:16:04.300 (UploadWorker) Progress: 27/100
2024-06-17 18:16:04.300 (UploadWorker) Progress: 28/100
2024-06-17 18:16:04.301 (UploadWorker) Progress: 29/100
2024-06-17 18:16:04.301 (UploadWorker) Progress: 30/100
2024-06-17 18:16:04.301 (UploadWorker) Progress: 31/100
2024-06-17 18:16:04.301 (UploadWorker) Progress: 32/100
2024-06-17 18:16:04.301 (UploadWorker) Progress: 33/100
2024-06-17 18:16:04.301 (UploadWorker) Progress: 34/100
2024-06-17 18:16:04.301 (UploadWorker) Progress: 35/100
2024-06-17 18:16:04.301 (UploadWorker) Progress: 36/100
2024-06-17 18:16:04.301 (UploadWorker) Progress: 37/100
2024-06-17 18:16:04.302 (UploadWorker) Progress: 38/100
2024-06-17 18:16:04.302 (UploadWorker) Progress: 39/100
2024-06-17 18:16:04.302 (UploadWorker) Progress: 40/100
2024-06-17 18:16:04.302 (UploadWorker) Progress: 41/100
2024-06-17 18:16:04.302 (UploadWorker) Progress: 42/100
2024-06-17 18:16:04.302 (UploadWorker) Progress: 43/100
2024-06-17 18:16:04.302 (UploadWorker) Progress: 44/100
2024-06-17 18:16:04.302 (UploadWorker) Progress: 45/100
2024-06-17 18:16:04.302 (UploadWorker) Progress: 46/100
2024-06-17 18:16:04.303 (UploadWorker) Progress: 47/100
2024-06-17 18:16:04.303 (UploadWorker) Progress: 48/100
2024-06-17 18:16:04.303 (UploadWorker) Progress: 49/100
2024-06-17 18:16:04.303 (UploadWorker) Progress: 50/100
2024-06-17 18:16:04.303 (UploadWorker) Progress: 51/100
2024-06-17 18:16:04.303 (UploadWorker) Progress: 52/100
2024-06-17 18:16:04.303 (UploadWorker) Progress: 53/100
2024-06-17 18:16:04.304 (UploadWorker) Progress: 54/100
2024-06-17 18:16:04.304 (UploadWorker) Progress: 55/100
2024-06-17 18:16:04.304 (UploadWorker) Progress: 56/100
2024-06-17 18:16:04.304 (UploadWorker) Progress: 57/100
2024-06-17 18:16:04.304 (UploadWorker) Progress: 58/100
2024-06-17 18:16:04.305 (UploadWorker) Progress: 59/100
2024-06-17 18:16:04.305 (UploadWorker) Progress: 60/100
2024-06-17 18:16:04.305 (UploadWorker) Progress: 61/100
2024-06-17 18:16:04.305 (UploadWorker) Progress: 62/100
2024-06-17 18:16:04.305 (UploadWorker) Progress: 63/100
2024-06-17 18:16:04.305 (UploadWorker) Progress: 64/100
2024-06-17 18:16:04.305 (UploadWorker) Progress: 65/100
2024-06-17 18:16:04.305 (UploadWorker) Progress: 66/100
2024-06-17 18:16:04.306 (UploadWorker) Progress: 67/100
2024-06-17 18:16:04.306 (UploadWorker) Progress: 68/100
2024-06-17 18:16:04.306 (UploadWorker) Progress: 69/100
2024-06-17 18:16:04.306 (UploadWorker) Progress: 70/100
2024-06-17 18:16:04.306 (UploadWorker) Progress: 71/100
2024-06-17 18:16:04.306 (UploadWorker) Progress: 72/100
2024-06-17 18:16:04.306 (UploadWorker) Progress: 73/100
2024-06-17 18:16:04.306 (UploadWorker) Progress: 74/100
2024-06-17 18:16:04.307 (UploadWorker) Progress: 75/100
2024-06-17 18:16:04.307 (UploadWorker) Progress: 76/100
2024-06-17 18:16:04.307 (UploadWorker) Progress: 77/100
2024-06-17 18:16:04.307 (UploadWorker) Progress: 78/100
2024-06-17 18:16:04.307 (UploadWorker) Progress: 79/100
2024-06-17 18:16:04.307 (UploadWorker) Progress: 80/100
2024-06-17 18:16:04.307 (UploadWorker) Progress: 81/100
2024-06-17 18:16:04.307 (UploadWorker) Progress: 82/100
2024-06-17 18:16:04.308 (UploadWorker) Progress: 83/100
2024-06-17 18:16:04.308 (UploadWorker) Progress: 84/100
2024-06-17 18:16:04.308 (UploadWorker) Progress: 85/100
2024-06-17 18:16:04.308 (UploadWorker) Progress: 86/100
2024-06-17 18:16:04.308 (UploadWorker) Progress: 87/100
2024-06-17 18:16:04.308 (UploadWorker) Progress: 88/100
2024-06-17 18:16:04.308 (UploadWorker) Progress: 89/100
2024-06-17 18:16:04.309 (UploadWorker) Progress: 90/100
2024-06-17 18:16:04.309 (UploadWorker) Progress: 91/100
2024-06-17 18:16:04.309 (UploadWorker) Progress: 92/100
2024-06-17 18:16:04.309 (UploadWorker) Progress: 93/100
2024-06-17 18:16:04.309 (UploadWorker) Progress: 94/100
2024-06-17 18:16:04.309 (UploadWorker) Progress: 95/100
2024-06-17 18:16:04.309 (UploadWorker) Progress: 96/100
2024-06-17 18:16:04.309 (UploadWorker) Progress: 97/100
2024-06-17 18:16:04.310 (UploadWorker) Progress: 98/100
2024-06-17 18:16:04.310 (UploadWorker) Progress: 99/100
2024-06-17 18:16:04.310 (UploadWorker) Progress: 100/100
2024-06-17 18:16:04.346 (UploadWorker) Finished at 2024/06/17 09:16:04
2024-06-17 18:16:04.402 (MainActivity) UploadWorker's state: SUCCEEDED

Extended Controls - Cellular - Data status๋ฅผ Denied๋กœ ๋ฐ”๊พธ๊ณ , ์—๋ฎฌ๋ ˆ์ดํ„ฐ ์ƒํƒœ๋ฐ”๋ฅผ ๋‚ด๋ ค์„œ Wifi ์—ฐ๊ฒฐ๋„ ์žŠ์ง€ ๋ง๊ณ  ๋Š๋Š”๋‹ค. 'One Time Request' ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๊ณ  ์•ฝ 10๋ถ„ ์ •๋„ ๋Œ€๊ธฐํ–ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  Data status๋ฅผ Home์œผ๋กœ ๋ฐ”๊ฟจ์„ ๋•Œ์˜ ๋กœ๊ทธ ๋ฉ”์‹œ์ง€๋‹ค.

 

#3-3 'Periodic Request' ๋ฒ„ํŠผ์„ ํด๋ฆญํ–ˆ์„ ๋•Œ์˜ ๋กœ๊ทธ ๋ฉ”์‹œ์ง€

๋”๋ณด๊ธฐ
2024-06-17 18:19:39.020 (MainActivity) DownloadWorker's state: ENQUEUED
2024-06-17 18:30:36.043 (DownloadWorker) Started at 2024/06/17 09:30:36
2024-06-17 18:30:36.043 (DownloadWorker) Progress: 0/100
2024-06-17 18:30:36.044 (DownloadWorker) Progress: 1/100
2024-06-17 18:30:36.044 (DownloadWorker) Progress: 2/100
2024-06-17 18:30:36.044 (DownloadWorker) Progress: 3/100
2024-06-17 18:30:36.044 (DownloadWorker) Progress: 4/100
2024-06-17 18:30:36.044 (DownloadWorker) Progress: 5/100
2024-06-17 18:30:36.044 (DownloadWorker) Progress: 6/100
2024-06-17 18:30:36.044 (DownloadWorker) Progress: 7/100
2024-06-17 18:30:36.044 (DownloadWorker) Progress: 8/100
2024-06-17 18:30:36.045 (DownloadWorker) Progress: 9/100
2024-06-17 18:30:36.045 (DownloadWorker) Progress: 10/100
2024-06-17 18:30:36.045 (DownloadWorker) Progress: 11/100
2024-06-17 18:30:36.045 (DownloadWorker) Progress: 12/100
2024-06-17 18:30:36.045 (DownloadWorker) Progress: 13/100
2024-06-17 18:30:36.051 (DownloadWorker) Progress: 14/100
2024-06-17 18:30:36.051 (DownloadWorker) Progress: 15/100
2024-06-17 18:30:36.051 (DownloadWorker) Progress: 16/100
2024-06-17 18:30:36.051 (DownloadWorker) Progress: 17/100
2024-06-17 18:30:36.051 (DownloadWorker) Progress: 18/100
2024-06-17 18:30:36.051 (DownloadWorker) Progress: 19/100
2024-06-17 18:30:36.051 (DownloadWorker) Progress: 20/100
2024-06-17 18:30:36.052 (DownloadWorker) Progress: 21/100
2024-06-17 18:30:36.052 (DownloadWorker) Progress: 22/100
2024-06-17 18:30:36.052 (DownloadWorker) Progress: 23/100
2024-06-17 18:30:36.052 (DownloadWorker) Progress: 24/100
2024-06-17 18:30:36.052 (DownloadWorker) Progress: 25/100
2024-06-17 18:30:36.052 (DownloadWorker) Progress: 26/100
2024-06-17 18:30:36.052 (DownloadWorker) Progress: 27/100
2024-06-17 18:30:36.052 (DownloadWorker) Progress: 28/100
2024-06-17 18:30:36.052 (DownloadWorker) Progress: 29/100
2024-06-17 18:30:36.052 (DownloadWorker) Progress: 30/100
2024-06-17 18:30:36.052 (DownloadWorker) Progress: 31/100
2024-06-17 18:30:36.052 (DownloadWorker) Progress: 32/100
2024-06-17 18:30:36.052 (DownloadWorker) Progress: 33/100
2024-06-17 18:30:36.052 (DownloadWorker) Progress: 34/100
2024-06-17 18:30:36.053 (DownloadWorker) Progress: 35/100
2024-06-17 18:30:36.053 (DownloadWorker) Progress: 36/100
2024-06-17 18:30:36.053 (DownloadWorker) Progress: 37/100
2024-06-17 18:30:36.053 (DownloadWorker) Progress: 38/100
2024-06-17 18:30:36.053 (DownloadWorker) Progress: 39/100
2024-06-17 18:30:36.053 (DownloadWorker) Progress: 40/100
2024-06-17 18:30:36.053 (DownloadWorker) Progress: 41/100
2024-06-17 18:30:36.053 (DownloadWorker) Progress: 42/100
2024-06-17 18:30:36.053 (DownloadWorker) Progress: 43/100
2024-06-17 18:30:36.053 (DownloadWorker) Progress: 44/100
2024-06-17 18:30:36.053 (DownloadWorker) Progress: 45/100
2024-06-17 18:30:36.053 (DownloadWorker) Progress: 46/100
2024-06-17 18:30:36.053 (DownloadWorker) Progress: 47/100
2024-06-17 18:30:36.053 (DownloadWorker) Progress: 48/100
2024-06-17 18:30:36.053 (DownloadWorker) Progress: 49/100
2024-06-17 18:30:36.054 (DownloadWorker) Progress: 50/100
2024-06-17 18:30:36.054 (DownloadWorker) Progress: 51/100
2024-06-17 18:30:36.054 (DownloadWorker) Progress: 52/100
2024-06-17 18:30:36.054 (DownloadWorker) Progress: 53/100
2024-06-17 18:30:36.054 (DownloadWorker) Progress: 54/100
2024-06-17 18:30:36.054 (DownloadWorker) Progress: 55/100
2024-06-17 18:30:36.054 (DownloadWorker) Progress: 56/100
2024-06-17 18:30:36.054 (DownloadWorker) Progress: 57/100
2024-06-17 18:30:36.054 (DownloadWorker) Progress: 58/100
2024-06-17 18:30:36.054 (DownloadWorker) Progress: 59/100
2024-06-17 18:30:36.054 (DownloadWorker) Progress: 60/100
2024-06-17 18:30:36.054 (DownloadWorker) Progress: 61/100
2024-06-17 18:30:36.054 (DownloadWorker) Progress: 62/100
2024-06-17 18:30:36.054 (DownloadWorker) Progress: 63/100
2024-06-17 18:30:36.054 (DownloadWorker) Progress: 64/100
2024-06-17 18:30:36.054 (DownloadWorker) Progress: 65/100
2024-06-17 18:30:36.054 (DownloadWorker) Progress: 66/100
2024-06-17 18:30:36.054 (DownloadWorker) Progress: 67/100
2024-06-17 18:30:36.054 (DownloadWorker) Progress: 68/100
2024-06-17 18:30:36.055 (DownloadWorker) Progress: 69/100
2024-06-17 18:30:36.055 (DownloadWorker) Progress: 70/100
2024-06-17 18:30:36.055 (DownloadWorker) Progress: 71/100
2024-06-17 18:30:36.055 (DownloadWorker) Progress: 72/100
2024-06-17 18:30:36.055 (DownloadWorker) Progress: 73/100
2024-06-17 18:30:36.055 (DownloadWorker) Progress: 74/100
2024-06-17 18:30:36.055 (DownloadWorker) Progress: 75/100
2024-06-17 18:30:36.055 (DownloadWorker) Progress: 76/100
2024-06-17 18:30:36.055 (DownloadWorker) Progress: 77/100
2024-06-17 18:30:36.055 (DownloadWorker) Progress: 78/100
2024-06-17 18:30:36.055 (DownloadWorker) Progress: 79/100
2024-06-17 18:30:36.055 (DownloadWorker) Progress: 80/100
2024-06-17 18:30:36.055 (DownloadWorker) Progress: 81/100
2024-06-17 18:30:36.055 (DownloadWorker) Progress: 82/100
2024-06-17 18:30:36.055 (DownloadWorker) Progress: 83/100
2024-06-17 18:30:36.055 (DownloadWorker) Progress: 84/100
2024-06-17 18:30:36.056 (DownloadWorker) Progress: 85/100
2024-06-17 18:30:36.056 (DownloadWorker) Progress: 86/100
2024-06-17 18:30:36.057 (DownloadWorker) Progress: 87/100
2024-06-17 18:30:36.057 (DownloadWorker) Progress: 88/100
2024-06-17 18:30:36.057 (DownloadWorker) Progress: 89/100
2024-06-17 18:30:36.057 (DownloadWorker) Progress: 90/100
2024-06-17 18:30:36.057 (DownloadWorker) Progress: 91/100
2024-06-17 18:30:36.057 (DownloadWorker) Progress: 92/100
2024-06-17 18:30:36.057 (DownloadWorker) Progress: 93/100
2024-06-17 18:30:36.057 (DownloadWorker) Progress: 94/100
2024-06-17 18:30:36.057 (DownloadWorker) Progress: 95/100
2024-06-17 18:30:36.057 (DownloadWorker) Progress: 96/100
2024-06-17 18:30:36.058 (DownloadWorker) Progress: 97/100
2024-06-17 18:30:36.058 (DownloadWorker) Progress: 98/100
2024-06-17 18:30:36.058 (DownloadWorker) Progress: 99/100
2024-06-17 18:30:36.058 (DownloadWorker) Progress: 100/100
2024-06-17 18:30:36.059 (DownloadWorker) Finished at 2024/06/17 09:30:36
2024-06-17 18:30:36.152 (MainActivity) DownloadWorker's state: ENQUEUED

์ดํ•˜ ์ƒ๋žต

Extended Controls - Charger connection์„ None์œผ๋กœ,  Extended Controls - Battery status๋ฅผ Not charging์œผ๋กœ ๋ฐ”๊พผ๋‹ค. 'Periodic Request' ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๊ณ  ์•ฝ 10๋ถ„ ์ •๋„ ๋Œ€๊ธฐํ–ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  Charger connection์„ AC charger๋กœ, Battery status๋ฅผ Charging์œผ๋กœ ๋ฐ”๊ฟจ์„ ๋•Œ์˜ ๋กœ๊ทธ ๋ฉ”์‹œ์ง€๋‹ค.

 

#4 ์š”์•ฝ

Constraints๋Š”, WorkManager์˜ '๋ฐฐ๋‹ฌ ์ฃผ์˜ ์‚ฌํ•ญ'๊ณผ ๊ฐ™๋‹ค.

 

#5 ์™„์„ฑ๋œ ์•ฑ

 

android-practice/work-manager/ArgumentsAndReturn at master · Kanmanemone/android-practice

Contribute to Kanmanemone/android-practice development by creating an account on GitHub.

github.com