我在 android 11 中使用ActivityResultLauncher
with ActivityResultContracts.StartIntentSenderForResult
contract 来修改音频文件。
这是我在我的MainActivity
:
我
MediaStore
用来创建一个返回 a 的写请求PendingIntent
,然后我调用#getIntentSender()
以获取IntentSender
:IntentSender sender = MediaStore.createWriteRequest(getContentResolver(), uris).getIntentSender();
然后我创建一个
IntentSenderRequest
并设置它的填充Intent
,如下所示: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