我可以从Android中的服务调用Alertdialog吗?

我可以从Android中的服务调用Alertdialog吗?,android,android-alertdialog,Android,Android Alertdialog,AlertDialog可以从服务中调用,这是可能的,但这里有一个疑问,比如从android服务中调用AlertDialog是否违反谷歌UI准则?如果我这样做,我开发的应用程序是否会通过认证 可以从可能的服务调用AlertDialog 不是真的。链接到两个的博客文章显示了两个选项: 不要使用AlertDialog,而是使用以对话框为主题的活动 使用SYSTEM_ALERT_WINDOW,这是一个复杂的权限,用户可能不会授予您 在这两个问题中,第一个是更好的答案 比如从android服务调用警报对话

AlertDialog可以从服务中调用,这是可能的,但这里有一个疑问,比如从android服务中调用AlertDialog是否违反谷歌UI准则?如果我这样做,我开发的应用程序是否会通过认证

可以从可能的服务调用AlertDialog

不是真的。链接到两个的博客文章显示了两个选项:

不要使用AlertDialog,而是使用以对话框为主题的活动

使用SYSTEM_ALERT_WINDOW,这是一个复杂的权限,用户可能不会授予您

在这两个问题中,第一个是更好的答案

比如从android服务调用警报对话框是否违反谷歌用户界面指南

我不知道你认为谷歌UI指南是什么。我不记得解决这个问题的材料设计

然而,从后台弹出UI对用户非常不利。您不知道用户在前台做什么。例如,如果用户试图使用导航应用程序,您的对话框可能会导致车祸

请使用通知-可能是平视通知-而不是在后台显示对话框

如果我这样做,我开发的应用程序是否会通过认证

你必须询问谁在认证你的应用程序。Android中没有标准的认证流程


对于Play Store,Google有自己的功能,您需要查看您的对话框是否违反这些策略。

强烈建议不要这样做,请查看下面关于stackoverflow的帖子

如果你想这么做的话

dialog.getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT);
在对话框中键入\系统\警报窗口布局参数

是否需要对此进行其他许可

<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>

AlertDialog可以从错误的服务调用,但不能。选中此链接表示使用通知系统-不要使用对话框代替通知如果后台服务需要通知用户,请使用标准通知系统-不要使用对话框或toast通知用户。@Murtazakapdia:首先,该文档已弃用。其次,该文档专门告诉您我看到的使用通知系统的情况-不要使用对话框代替通知。