• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

Android 相当于 iOS 的 UILocalNotification?

[复制链接]
菜鸟教程小白 发表于 2022-12-12 21:20:20 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

我希望在我的 Android 应用程序中使用本地通知,并且想知道 Android 是否有类似 iOS 的 UILocalNotification 可用的东西?

我喜欢 UILocalNotification 允许我为 future 某个日期“安排”一个或多个本地通知,无论手机是醒着还是睡着,这些都会触发(就像常规推送通知一样) .

在我弄乱 AlarmManager 之前,我想知道 Android 是否有一个干净的方法来完成这个。

编辑:什么是 UILocalNotification

UILocalNotification 的实例表示应用程序可以安排在特定日期和时间向其用户呈现的通知。操作系统负责在适当的时间传递通知;应用程序不一定要运行才能发生这种情况。尽管本地通知类似于远程通知,因为它们用于显示警报、播放声音和标记应用程序图标,但它们是在本地编写和传递的,不需要与远程服务器连接。



Best Answer-推荐答案


  • 基于时间的触发器

考虑到您的基于时间的触发要求,AlarmManager 似乎是合适的解决方案(可提供专门的培训 here)。您应该谨慎使用它,因为警报会在设备关闭时被清除。因此,您应该在设备重新启动时重新安排警报。您可以使用在 list 中声明的​​ BroadcastReceiver 来解决这个问题



Intent 过滤器。

  • 基于事件的行为

编辑 (2014.04.19): 更多“Android 相当于 iOS 的 NSNotification?”有针对性的回答

iOS 下通知的其他用途,尤其是 NSNotificationCenter postNotificationNamebject:userInfo: selector (例如,对于基于事件的策略,例如通知 CoreData 更改),还有其他可用的方法。

也许您可以使用 LocalBroadcastManager支持库中提供的概念。

描述为:

Helper to register for and send broadcasts of Intents to local objects within your process.

我们可以这样使用:



然后,您可以在 Activity 中注册给定通知,例如:



否则,您可以使用 Otto Square 提供的库根据 Apache 许可证,版本 2.0。 它被描述为

Otto is an event bus designed to decouple different parts of your application while still allowing them to communicate efficiently.

不过,根据您的要求,您可以使用其他 Android 概念。 例如,如果您想在数据库更改时收到通知(在基于 ContentProvider 概念的项目中),您可以使用:



带有方法文档here .

然后 Observer 将通过如下调用调用:



带有方法文档here .

关于Android 相当于 iOS 的 UILocalNotification?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22944218/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap