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

时间:2018-04-26 06:22:48

标签: android alertdialog

AlertDialog可以从service调用... this.state = { post: new MainFeedPost(), }; ... ,但在这里有疑问,例如从Android服务调用警告对话框违反Google UI准则或不 ?如果我这样做,我开发的应用程序是否会通过认证?

2 个答案:

答案 0 :(得分:1)

  

可以从可能的服务中调用AlertDialog

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

  1. 请勿使用AlertDialog,而是使用以对话为主题的活动

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

  3. 在这两者中,第一个是更好的答案。

      

    从Android服务调用警告对话框是否违反Google UI准则?

    我不知道您认为“Google UI指南”是什么。我不记得Material Design解决了这个问题。

    但是,从后台弹出用户​​界面非常容易用户。您不知道用户在前台做了什么。例如,如果用户尝试使用导航应用程序,则对话框可能会导致车祸。

    请使用通知 - 可能是单挑通知 - 而不是从后台显示对话框。

      

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

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

    对于Play商店,Google有app developer policies,您需要查看对话框是否违反任何政策。

答案 1 :(得分:0)

强烈建议不要这样做,请查看stackoverflow上的以下帖子Link

如果想要那样做

dialog.getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT);
对话框的

TYPE_SYSTEM_ALERT窗口布局参数

需要此附加权限

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