活动在片段上出现的权限对话框中被破坏

Posted

技术标签:

【中文标题】活动在片段上出现的权限对话框中被破坏【英文标题】:activity is getting destroyed on permission dialog appearing on fragment 【发布时间】:2018-10-04 17:54:29 【问题描述】:

一旦权限对话框出现在片段上,Hosting Activity 就会被销毁。

点击片段的提交按钮:

if (ActivityCompat.checkSelfPermission(getContext(), Manifest.permission.RECEIVE_SMS)!= PackageManager.PERMISSION_GRANTED) 
                Toast.makeText(getActivity(), "Please allow permission so we can retrieve the OTP.", Toast.LENGTH_SHORT).show();
                requestPermissions(new String[]android.Manifest.permission.RECEIVE_SMS, 441);

            

我尝试使用 ActivityCompat.requestPermissions 仍然托管活动被破坏并且仅显示权限对话框。

【问题讨论】:

【参考方案1】:

从该活动的 AndroidManifest 中删除此行:

android:noHistory="true"

已解决问题。

【讨论】:

以上是关于活动在片段上出现的权限对话框中被破坏的主要内容,如果未能解决你的问题,请参考以下文章

为啥软键盘在对话框片段内的 Web 视图中不起作用?

如何在家庭活动android上显示进度对话框?

在片段活动中显示自定义对话框

如何从对话框片段中打开新活动

Android:将数据保存到服务器以避免活动破坏

活动中自定义对话框内的 ANDROID 片段