diff --git a/app/src/main/java/io/legado/app/service/DownloadService.kt b/app/src/main/java/io/legado/app/service/DownloadService.kt index 4db6bd324..3e119c026 100644 --- a/app/src/main/java/io/legado/app/service/DownloadService.kt +++ b/app/src/main/java/io/legado/app/service/DownloadService.kt @@ -250,12 +250,12 @@ class DownloadService : BaseService() { .setSubText(getString(R.string.action_download)) .setContentTitle(content) .setContentIntent( - servicePendingIntent(IntentAction.play) { + servicePendingIntent(IntentAction.play, downloadId.toInt()) { putExtra("downloadId", downloadId) } ) .setDeleteIntent( - servicePendingIntent(IntentAction.stop) { + servicePendingIntent(IntentAction.stop, downloadId.toInt()) { putExtra("downloadId", downloadId) } ) diff --git a/app/src/main/java/io/legado/app/utils/ContextExtensions.kt b/app/src/main/java/io/legado/app/utils/ContextExtensions.kt index 09c940ce2..e9bb62cfb 100644 --- a/app/src/main/java/io/legado/app/utils/ContextExtensions.kt +++ b/app/src/main/java/io/legado/app/utils/ContextExtensions.kt @@ -63,6 +63,7 @@ inline fun Context.stopService() { @SuppressLint("UnspecifiedImmutableFlag") inline fun Context.servicePendingIntent( action: String, + requestCode: Int = 0, configIntent: Intent.() -> Unit = {} ): PendingIntent? { val intent = Intent(this, T::class.java) @@ -73,7 +74,7 @@ inline fun Context.servicePendingIntent( } else { FLAG_UPDATE_CURRENT } - return getService(this, 0, intent, flags) + return getService(this, requestCode, intent, flags) } @SuppressLint("UnspecifiedImmutableFlag")