按 activity 结果意图中的后退按钮时应用关闭

App closed when pressing back button from activity results intent

StartActivityForResults 已弃用。所以我使用新的 getting result from activity 方法来处理 select PDF 文件。一切正常,但如果意图从我的应用程序开始到 select 文件,并且如果从该意图按下后退按钮,应用程序将关闭。

ActivityResultLauncher<String> mGetContent = registerForActivityResult(new GetContent(),
    new ActivityResultCallback<Uri>() {
        @Override
        public void onActivityResult(Uri uri) {
            // Handle the returned Uri
        }
});

@Override
public void onCreate(@Nullable savedInstanceState: Bundle) {
    // ...

    Button selectButton = findViewById(R.id.select_button);

    selectButton.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View view) {
            // Pass in the mime type you'd like to allow the user to select
            // as the input
            mGetContent.launch("application/pdf");
        }
    });
}

任何帮助请...

经过一番努力,我发现如果我们在没有选择任何文件的情况下按下后退按钮,activity 结果将 returns 为空。 所以我们应该检查activity结果是否不等于null然后做一些操作。

ActivityResultLauncher<String> mGetContent = registerForActivityResult(new GetContent(),
    new ActivityResultCallback<Uri>() {
        @Override
        public void onActivityResult(Uri uri) {
           if(uri!=null){
            // Handle the returned Uri
           }
        }
});

添加到清单 android:parentActivityName,在后面按应用程序打开父级 activity 示例:

<activity
        android:name=".FileActivity"
        android:parentActivityName=".Menu"/>