异步请求用户执行操作的最佳方法?

时间:2011-08-07 15:29:07

标签: android notifications

我对Android很新,我正在开发一个注册到广播接收器的应用程序。每当触发一个事件时,我都需要从用户那里请求一些输入并根据他的答案做一些动作。

从我一直在阅读的内容,通常的方法是将活动用作对话框,因此每当事件发生时,对话框就会显示为弹出窗口(即使我的应用程序未处于活动状态)。这看起来很好,虽然我仍然不太相信,因为我发现它有点太“干扰”。

我正在考虑通过RemoteViews使用自定义通知。从我所看到的,这看起来不错,虽然我还没有看到如何在这样的通知上包含按钮。我尝试在自定义布局上添加一个按钮并将其传递给远程视图。即使按钮是在扩展视图中绘制的,每当我点击它时,都会点击整个通知。我想知道是否可以通过两个按钮创建通知,并做出相应的反应?

否则,还有更好的选择吗?

提前致谢!

1 个答案:

答案 0 :(得分:1)

如果您希望它不引人注目,您可以创建一个BackgroundService,在需要用户输入时显示或更改通知图标(在最顶部的栏中)。您还可以根据用户的喜好打开短振动或声音信号。然后,用户只需向下拖动通知栏并单击应用程序图标,然后可以显示任何类型的活动。

此外,如果您的应用不是最顶级的应用AFAIK,您必须创建一个BackgroundService,因为这是阻止Android在应用未激活时终止应用的唯一方法(任何不是最顶层的应用)是资源不足时停止或终止的候选人,AFAIK)。