【发布时间】:2022-11-29 04:51:13
【问题描述】:
我想在手机的 SD 卡上选择一个文件夹。目前我正在这样做:
activityResultLauncher = registerForActivityResult(new ActivityResultContracts.StartActivityForResult(),
new ActivityResultCallback<ActivityResult>() {
@Override
public void onActivityResult(ActivityResult result) {
Log.d(TAG, "Activity result!");
if (result.getResultCode() == Activity.RESULT_OK) {
}
}
});
..
Intent intent = new Intent(Intent.ACTION_OPEN_DOCUMENT_TREE);
activityResultLauncher.launch(intent);
如何从活动中取回文件夹?如果我显示另一个活动怎么办 - 我怎么知道哪个活动结果是哪个?
Intent intent = new Intent(Settings.ACTION_MANAGE_APP_ALL_FILES_ACCESS_PERMISSION);
intent.addCategory("android.intent.category.DEFAULT");
intent.setData(Uri.parse(String.format("package:%s", getApplicationContext().getPackageName())));
activityResultLauncher.launch(intent);
旧的做事方式对我来说很有意义(例如 see here 带有请求代码和意图),但我不明白新的 API 调用是如何完成的。
【问题讨论】:
标签: android android-intent onactivityresult