Android-AlertDialog位于任何活动之上,不依赖于特定活动

Android-AlertDialog位于任何活动之上,不依赖于特定活动,android,android-alertdialog,Android,Android Alertdialog,我可以在任何活动上创建警报对话框,或对其进行修改。我在特定场景中遇到问题。我有一个活动需要读/写权限,相机权限。当用户进入活动时,我请求许可,如果获得许可,用户可以留在那里并使用该活动,否则我会显示Toast表示许可被拒绝并退出该活动。如果用户勾选阻止显示权限,并且如果他进行该活动,则会显示Toast权限被拒绝并在未获得进一步许可的情况下退出。勾选此“阻止显示权限”对话框后,用户将永远无法使用该活动。因此,我想在活动退出时显示一个警报对话框。但问题是,当活动退出时,对话框也会退出。因此,我需要一

我可以在任何
活动
上创建
警报对话框
,或对其进行修改。我在特定场景中遇到问题。我有一个活动需要读/写权限,相机权限。当用户进入活动时,我请求许可,如果获得许可,用户可以留在那里并使用该活动,否则我会显示
Toast
表示许可被拒绝并退出该活动。如果用户勾选阻止显示权限,并且如果他进行该活动,则会显示
Toast
权限被拒绝并在未获得进一步许可的情况下退出。勾选此“阻止显示权限”对话框后,用户将永远无法使用该
活动
。因此,我想在活动退出时显示一个
警报对话框
。但问题是,当活动退出时,对话框也会退出。因此,我需要一个
AlertDialog
,我将在
ondestory()
期间显示该对话框,但它仍将显示在堆栈上下一个
活动的顶部

也许您应该使用另一个以对话框为主题的活动。

我建议您使用相机活动关闭时开始的活动的
onActivityResult()
。您可以设置摄像头活动的结果,检查活动
onActivityResult()
中的结果代码,然后显示
对话框
,该对话框将位于堆栈上下一个
活动
的顶部。要创建警报对话框,我必须将上下文引用传递给该警报对话框,因为上下文是活动的超类,当我当前的活动完成时,它将被销毁。因此,我没有得到最后一个活动引用,这没关系,您可以使用onActivityResult
中的上下文(活动),我将关闭调用onActivityResult的活动,因为用户拒绝了权限。因此,我需要一些我可以全局引用的东西,它将位于堆栈上的上一个活动之上。您必须使用您刚才称为“上一个”的活动作为显示对话框的活动!