【问题标题】:Quick notification silence快速通知静音
【发布时间】:2011-06-14 04:24:20
【问题描述】:

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

我的问题是客户想要:

  1. 通知铃声在被确认之前一直响铃(通过 FLAG_INSISTENT 轻松完成)
  2. 只需按一下按钮即可使铃声静音的简单方法。由于他们的工作性质,按下电源按钮、滑动解锁并向下拖动通知栏确实并不总是可行的。我需要复制寻呼机的行为。

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

有人对我如何实现这个目标有想法吗?是否有其他方法来监听按键,或者可以让我到达那里的一些创造性的标志组合?

市场应用程序通常不赞成使用的技术已完全摆在桌面上,因为这些手机归我的雇主所有,只能由其他员工使用。我只是想避免使用私有或已弃用的 API,以便最终继承此项目的开发人员更轻松地切换手机型号。

感谢大家的阅读!

【问题讨论】:

    标签: android notifications


    【解决方案1】:

    有人对我如何实现这个目标有想法吗?

    您必须按住 WakeLock,特别是 FULL_WAKE_LOCK,才能响应按钮按下。这意味着电池寿命会很糟糕,除非您对此设置一些时间限制(例如,按住WakeLock 一两分钟,否则假设用户不在设备附近,所以不要让它保持清醒)。

    您还需要尝试使用KeyguardManager 打断键盘锁。我没有这样做,所以我不知道所有细节。您的“注意魔术按钮”逻辑必须出现在键盘保护顶部的活动中。

    另外,请记住,并非所有 Android 设备都有物理按钮 - 事实上,如果整个物理按钮隐喻在今年晚些时候与 Ice Cream Sandwich 一起“噗嗤”一声,我一点也不感到惊讶。因此,有问题的按钮确实应该是屏幕上的Button,以备将来验证。

    【讨论】:

    • 感谢您的好主意。我认为“通知”活动听起来很有吸引力,可以作为改善手持体验的一种方式,尽管我的完美解决方案是让他们将手机放在口袋里或夹在腰带上。
    • 我正在考虑将唤醒锁定保持 30 秒左右,然后使用 KeyguardManager 解锁屏幕并显示一个带有巨大“确认”按钮或其他东西的活动,这样他们就可以尝试打在他们的口袋里。我也会听电源按钮。
    • 这将教我在不验证的情况下查看随机 SO 答案。我认为音量摇杆可以正常工作。如果我们在 2 年内找不到任何手机,我们会在找到时越过那座桥。
    • @WorkerThread:是的,音量摇杆可能会是最后一个,我怀疑它们可能会在大多数手机上存在很长时间。不过,如果平板电脑放下音量按钮,我不会感到震惊。
    猜你喜欢
    • 2018-08-08
    • 1970-01-01
    • 1970-01-01
    • 2023-04-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多