保留设备收到的通知
Hold notifications received by device
我希望能够在通知显示给用户之前获得通知,保存它们并在选定的时间显示它们。
我试过 NotificationListenerService 但我只能在它显示后才能收到通知。
有什么办法吗?
还有办法阻止来自特定应用的通知吗?
如果您正在使用 Google 云消息传递 (GCM),您可以保存到数据库或共享首选项并注释掉向用户显示通知的行。然后,您可以使用后台服务随时向用户显示它。
我希望能够在通知显示给用户之前获得通知,保存它们并在选定的时间显示它们。
-> 您可以收到 onNotificationPosted(StatusBarNotification sbn)
到达的通知
您还可以保存它们,并可以通过创建服务并再次构建此通知在您需要的时间显示它们。
我尝试了 NotificationListenerService,但我只能在它显示后才能收到通知。
-> NotificationListenerService 会给你到达的通知信息。您不能阻止通知,但您可以通过从通知堆栈中获取其 ID 或组密钥来删除特定通知。
还有办法阻止来自特定应用的通知吗?
-> 不,你不能阻止通知到达,尽管你可以删除所有通知,就像我上面提到的一样,它们不在你的应用程序列表中。
编辑
所有这些都可以在 API >=19 中完成。
希望对您有所帮助:)
更新@kiturk3 回答:
还有办法阻止来自特定应用的通知吗?
从Lollipop,这可以做到。用户可以阻止来自特定应用程序包的通知
Settings -> Sound and Notification -> Application Notification ->
Click on any application -> Select Block
此外,用户可以使用 priority
对特定应用程序通知给予重要性,同时在 Lockscreen
上显示
我希望能够在通知显示给用户之前获得通知,保存它们并在选定的时间显示它们。
我试过 NotificationListenerService 但我只能在它显示后才能收到通知。
有什么办法吗?
还有办法阻止来自特定应用的通知吗?
如果您正在使用 Google 云消息传递 (GCM),您可以保存到数据库或共享首选项并注释掉向用户显示通知的行。然后,您可以使用后台服务随时向用户显示它。
我希望能够在通知显示给用户之前获得通知,保存它们并在选定的时间显示它们。
-> 您可以收到 onNotificationPosted(StatusBarNotification sbn)
到达的通知
您还可以保存它们,并可以通过创建服务并再次构建此通知在您需要的时间显示它们。
我尝试了 NotificationListenerService,但我只能在它显示后才能收到通知。
-> NotificationListenerService 会给你到达的通知信息。您不能阻止通知,但您可以通过从通知堆栈中获取其 ID 或组密钥来删除特定通知。
还有办法阻止来自特定应用的通知吗?
-> 不,你不能阻止通知到达,尽管你可以删除所有通知,就像我上面提到的一样,它们不在你的应用程序列表中。
编辑 所有这些都可以在 API >=19 中完成。
希望对您有所帮助:)
更新@kiturk3 回答:
还有办法阻止来自特定应用的通知吗?
从Lollipop,这可以做到。用户可以阻止来自特定应用程序包的通知
Settings -> Sound and Notification -> Application Notification -> Click on any application -> Select Block
此外,用户可以使用 priority
对特定应用程序通知给予重要性,同时在 Lockscreen