registerForResult
abstract fun <I, O> registerForResult(contract: ActivityResultContract<I, O>, onResult: (O) -> Unit): ActivityResultLauncher<I>
Register a launcher for an ActivityResult contract, valid for the duration of one payment. The host owns registration/unregistration so a provider can't leak it across recreation.