2011-06-13 69 views
0

我的应用程序的主要目的是将智能手机变成一种智能寻呼机(有一个关联的网络应用程序,但这不是Android应用程序的目的)。我使用内置于Android的通知系统来处理提醒用户他们已收到页面。快速通知沉默

我的问题是,客户希望:

  1. 通知振铃,直到确认(容易与FLAG_INSISTENT完成)
  2. 一个简单的方法1按下按钮来关闭铃声永远响。由于他们工作的性质,按下电源按钮,滑动以解锁并拖动通知栏,实际上并非总是可行。我需要复制寻呼机的行为。

我需要找到一种方法来满足第二个要求。如果我有一个活动正在运行,它看起来像我可以挂在按键上,但是当收到通知时,屏幕可能会关闭。我目前正在研究这个问题,但我想知道是否有人在此期间提供了一些指导。

有没有人有关于如何实现这一目标的想法?是否有其他方法来听按键,或一些创意组合的标志可以让我在那里?

对于Market应用程序通常会皱眉的技术完全在桌面上,因为这些电话由我的雇主拥有,并且只能由其他员工使用。我只是想避免使用私有或不赞成使用的API来为最终继承此项目的开发人员更轻松地切换手机型号。

谢谢大家的阅读!

回答

1

有没有人有关于如何实现这一目标的想法?

您必须持有WakeLock,特别是FULL_WAKE_LOCK,才能响应按钮按下。这意味着电池的使用寿命将会非常糟糕,除非您对此有所限制(例如,将WakeLock保持一两分钟,否则假设用户不在设备附近,因此请勿保持清醒状态)。

您还需要尝试使用KeyguardManager来中断键盘锁。我没有这样做,所以我不知道所有的细节。您的“观看魔术按钮”逻辑必须位于键盘保护程序顶部的活动中。另外,请记住,并非所有的Android设备都有物理按钮 - 事实上,如果整个物理按钮隐喻在今年晚些时候会与“冰淇淋三明治”一起“噗噗”,我也不会感到惊讶。因此,该按钮确实应该是屏幕上的Button,以备将来使用。

+0

谢谢你的好主意。我认为开展“通知”活动听起来很有吸引力,可以作为改善手头体验的一种方式,尽管我的完美解决方案可以让他们将手机放在口袋里或夹在腰带上。 – WorkerThread 2011-06-13 20:41:46

+0

我正在考虑持续30秒左右的唤醒锁,并使用KeyguardManager解锁屏幕,并通过巨大的“确认”按钮或其他方式显示活动,这样他们可以尝试将它们放入口袋中。我还会听电源按钮。 – WorkerThread 2011-06-13 20:56:10

+0

@WorkerThread:您无法听取电源按钮。 – CommonsWare 2011-06-13 21:04:25