ActivityResultLauncher всегда возвращает нулевые данные
я использую
ActivityResultLauncher
с участием
ActivityResultContracts.StartIntentSenderForResult
контракт в Android 11 для изменения аудиофайлов.
Вот как я это делаю в своем
MainActivity
:
я использую
MediaStore
создать запрос на запись, который возвращаетPendingIntent
, тогда я звоню#getIntentSender()
, чтобы получитьIntentSender
:IntentSender sender = MediaStore.createWriteRequest(getContentResolver(), uris).getIntentSender();
затем я создаю
IntentSenderRequest
и я установил его fillInIntent
как показано ниже:Intent fillIn = new Intent().putExtras(bundle);
IntentSenderRequest senderRequest = new IntentSenderRequest.Builder(sender).setFillInIntent(fillIn).build();
затем я вызываю свою программу запуска, как показано ниже:
myLauncher.launch(senderRequest);
и мой результат запуска выглядит следующим образом:
final ActivityResultLauncher<IntentSenderRequest> myLauncher =
registerForActivityResult( new ActivityResultContracts.StartIntentSenderForResult(),
result -> {
//result.getData() is always null
}
но каждый раз, когда я звоню
myLauncher
, данные пусты
я использую androidx версии 1.4.1