Android - 直接和按活动显示服务上的show Alert对话框之间的区别

时间:2015-12-31 08:06:51

标签: android android-alertdialog

由于我看到显示服务上的警报对话可能会损坏其他程序,我想知道是否有直接显示警告对话之间有区别:

AlertDialog alertDialog = builder.create();
        alertDialog.getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT);
        alertDialog.show();

通过具体活动展示?

我想要一些像通信应用程序的弹出窗口(例如Line Messenger,...) 您推荐哪种方式?

1 个答案:

答案 0 :(得分:0)

您可以从服务中启动一个透明活动,以显示其内部的对话框。

首先创建"透明"活动并在Manifest

中设置其主题
<activity android:name=".MyPopUpActivity" android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen"/>

将此活动的背景设置为您选择的透明色。

从您的服务中,开始此活动。确保传递显示对话框所需的任何数据。

启动活动后,使用DialogFragment显示对话框。使用DialogFragment是在android中显示对话框的推荐方法。

我自己还没有测试过这种方法,但我很确定它能为你做到这一点。

让我知道它是否适合你