每个活动之上的弹出对话框通知

时间:2017-09-27 13:22:44

标签: android push-notification popup

我在这个主题上阅读了很多内容,但无法找到问题的解决方案。 我需要显示相当大的对话框通知(Viber),有一些选项(单选按钮和文本字段),你只需要一个答案即可退出。

总而言之,我不需要简单的通知或新的单挑通知(它们很小并且在一段时间内被堆积起来)。我还阅读了一些关于常规活动的内容,这些活动只是看起来像在某些内容上显示的透明,但并没有完全理解整个概念。

该应用程序也应该在后台运行,因为通知是从服务器端发送的,应立即显示。

2 个答案:

答案 0 :(得分:0)

使用bind_new_listeners!' gitlab_1 | /opt/gitlab/embedded/lib/ruby/gems/2.3.0/gems/unicorn-5.1.0/lib/unicorn/http_server.rb:130:in

  

允许应用使用该类型创建窗口   TYPE_APPLICATION_OVERLAY,显示在所有其他应用之上。很少   应该使用此权限;这些窗户的目的是为了   与用户进行系统级交互。

通过这种方式,<top (required)>' gitlab_1 | /opt/gitlab/embedded/bin/unicorn:23:in将创建在所有其他应用程序之上(即使是那些你不会瞧不起的应用程序)。为此,您需要在清单文件中获得权限:

SYSTEM_ALERT_WINDOW

Here is a link for more info

答案 1 :(得分:0)

您可以定义自定义通知布局并显示它们,但它们具有您无法修改的特定大小限制。

至于使活动显示为通知或对话框。你要做的是给Activity布局一个透明的背景,这样布局的实际子项就是在Activity开始时运行的前一个活动之上绘制的唯一内容。这种模式用于Android共享系统,一张卡片从屏幕底部向上滑动,提供了几种共享方法。

至于在后台运行,您要做的是设置GCM以使您的服务在收到数据时通知设备,然后在您的应用程序中注册一个广播接收器,当从GCM收到数据时应该触发该广播接收器。使用GCM将允许Android系统有效地将消息传递到您的设备,同时考虑电池,网络条件和有关后台工作的用户设置。其他解决方案,例如让您自己的持久连接不断地拉动您的服务器获取新数据是非常不鼓励的。您可以在应用程序中找到有关如何设置GCM的几个教程。

相关问题