From 99c45f2601341621657ab3237ad0f738ca9104d2 Mon Sep 17 00:00:00 2001 From: Ruiqi Ma Date: Wed, 7 Feb 2024 16:35:29 -0800 Subject: [PATCH] explicitly declare the foreground service type --- .../src/main/AndroidManifest.xml | 4 ++++ .../OfflineJobWorker.kt | 18 ++++++++++++++---- 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/generate-offline-map-using-android-jetpack-workmanager/src/main/AndroidManifest.xml b/generate-offline-map-using-android-jetpack-workmanager/src/main/AndroidManifest.xml index 6b0207c4f..58bd69d5e 100644 --- a/generate-offline-map-using-android-jetpack-workmanager/src/main/AndroidManifest.xml +++ b/generate-offline-map-using-android-jetpack-workmanager/src/main/AndroidManifest.xml @@ -3,6 +3,7 @@ + + diff --git a/generate-offline-map-using-android-jetpack-workmanager/src/main/java/com/esri/arcgismaps/sample/generateofflinemapusingandroidjetpackworkmanager/OfflineJobWorker.kt b/generate-offline-map-using-android-jetpack-workmanager/src/main/java/com/esri/arcgismaps/sample/generateofflinemapusingandroidjetpackworkmanager/OfflineJobWorker.kt index 72ac9bbfb..612031944 100644 --- a/generate-offline-map-using-android-jetpack-workmanager/src/main/java/com/esri/arcgismaps/sample/generateofflinemapusingandroidjetpackworkmanager/OfflineJobWorker.kt +++ b/generate-offline-map-using-android-jetpack-workmanager/src/main/java/com/esri/arcgismaps/sample/generateofflinemapusingandroidjetpackworkmanager/OfflineJobWorker.kt @@ -18,6 +18,8 @@ package com.esri.arcgismaps.sample.generateofflinemapusingandroidjetpackworkmanager import android.content.Context +import android.content.pm.ServiceInfo.FOREGROUND_SERVICE_TYPE_DATA_SYNC +import android.os.Build import android.util.Log import androidx.work.CoroutineWorker import androidx.work.WorkerParameters @@ -59,10 +61,18 @@ class OfflineJobWorker(private val context: Context, params: WorkerParameters) : */ private fun createForegroundInfo(progress: Int): ForegroundInfo { // create a ForegroundInfo using the notificationId and a new progress notification - return ForegroundInfo( - notificationId, - workerNotification.createProgressNotification(progress) - ) + return if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) { + ForegroundInfo( + notificationId, + workerNotification.createProgressNotification(progress), + FOREGROUND_SERVICE_TYPE_DATA_SYNC + ) + } else { + ForegroundInfo( + notificationId, + workerNotification.createProgressNotification(progress) + ) + } } override suspend fun doWork(): Result {