diff --git a/app/src/main/java/io/legado/app/utils/ActivityResult.kt b/app/src/main/java/io/legado/app/utils/ActivityResult.kt index 653476417..06d6dc47a 100644 --- a/app/src/main/java/io/legado/app/utils/ActivityResult.kt +++ b/app/src/main/java/io/legado/app/utils/ActivityResult.kt @@ -8,9 +8,11 @@ import kotlinx.coroutines.suspendCancellableCoroutine import kotlin.coroutines.resume fun AppCompatActivity.registerForActivityResult(contract: ActivityResultContract): ActivityResultLauncherAwait { - var cout: CancellableContinuation? = null + lateinit var cout: CancellableContinuation val launcher = registerForActivityResult(contract) { - cout?.resume(it) + if (cout.isActive) { + cout.resume(it) + } } return object : ActivityResultLauncherAwait() { override suspend fun launch(input: I, options: ActivityOptionsCompat?): O {