从活动结果意图按下后退按钮时应用程序关闭[关闭]
Posted
技术标签:
【中文标题】从活动结果意图按下后退按钮时应用程序关闭[关闭]【英文标题】:App closed when pressing back button from activity results intent [closed] 【发布时间】:2021-10-08 07:15:26 【问题描述】:StartActivityForResults 已弃用。所以我使用 new using new getting result from activity 方法来选择 PDF 文件。一切正常,但如果意图从我的应用开始选择文件,并且如果从该意图按下后退按钮,则应用关闭。
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");
);
请帮忙...
【问题讨论】:
【参考方案1】:经过一番努力,我发现如果我们在不选择任何文件的情况下按下返回按钮,活动结果将返回 null。 所以我们应该检查activity结果是否不等于null,然后进行一些操作。
ActivityResultLauncher<String> mGetContent = registerForActivityResult(new GetContent(),
new ActivityResultCallback<Uri>()
@Override
public void onActivityResult(Uri uri)
if(uri!=null)
// Handle the returned Uri
);
【讨论】:
【参考方案2】:添加到清单android:parentActivityName
,后按应用打开父活动
示例:
<activity
android:name=".FileActivity"
android:parentActivityName=".Menu"/>
【讨论】:
以上是关于从活动结果意图按下后退按钮时应用程序关闭[关闭]的主要内容,如果未能解决你的问题,请参考以下文章