由于我读到在Service上显示Alert Dialog可能会损坏其他程序,我想知道像这样直接显示Alert Dialog是否有区别:
AlertDialog alertDialog = builder.create();
alertDialog.getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT);
alertDialog.show();并通过特定的活动来显示?
我想要像通信应用程序弹出窗口一样的东西(例如Line Messenger,..)你推荐哪种方法?
发布于 2015-12-31 16:59:14
你可以从你的服务中启动一个透明的activity,它会在你的服务中显示对话框。
首先创建“透明”活动,并在Manifest中像这样设置其主题
<activity android:name=".MyPopUpActivity" android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen"/>将此活动的背景设置为您选择的透明颜色。
从您的服务中,启动此活动。确保传递显示对话框所需的任何数据。
启动活动后,使用DialogFragment显示对话框。在android中,使用DialogFragment是显示对话框的推荐方式。
我自己还没有测试过这种方法,但我非常确定它会为你做好准备。
如果对你有效,请让我知道
https://stackoverflow.com/questions/34543223
复制相似问题