我想实现这一点:
- 当警报开始响起时,通知声音应持续播放,直到用户拖动通知栏。
- 当我向下拖动通知栏时,声音应该停止播放。
我想实现这一点:
在通知中,很少有用于自动停止通知的标志,您必须使用它们。
2.Notification.FLAG_INSISTENT:此标志使您的声音持续响起,直到您对通知进行了一些操作,即拖动条或单击条。
3.Notification.FLAG_AUTO_CANCEL:此标志用于在您看到通知后自动取消通知
why the nastiness with reflection?
因为它不是 Android SDK 的一部分。StatusBarManager
只有对创建不可靠的应用程序感兴趣的人才会尝试与Android 源代码本身的外部进行交互。由于核心 Android 团队和设备制造商欢迎随时更改 SDK 之外的任何内容。
Why can't I find a reference to the StatusBarManager class directly?
因为它不是 Android SDK 的一部分。Android 框架中有很多很棒的类和方法都标有 @hide 注释,原因有很多:不愿意无限期地支持 API,“默默无闻的安全性”等。
Why is there not a constant in the Context class for the "statusbar" service?
因为它不是 Android SDK 的一部分。当然欢迎您向 AOSP 提供补丁,以使 StatusBarManager 被“提升”到与其他系统服务(例如 LocationManager、NotificationManager)相同的状态。如果 StatusBarManager 的情况仅仅是 SDK 在 2007 年创建之后的疏忽,那么您的补丁很可能会被接受,并且您会在即将发布的 Android 版本中看到这些变化。