Android应用程序如何在未启动的情况下获得通知?
以大型博客的应用程序为例(其工作原理与RSS提要非常相似,但适用于您的手机)。每当博客发布一篇新文章时,应用程序都会在用户手机上创建一个关于新文章的通知 以下是一些我想了解的事情:Android应用程序如何在未启动的情况下获得通知?,android,Android,以大型博客的应用程序为例(其工作原理与RSS提要非常相似,但适用于您的手机)。每当博客发布一篇新文章时,应用程序都会在用户手机上创建一个关于新文章的通知 以下是一些我想了解的事情: 通知是由我手机上的应用程序拉取的还是由博客推送的 为什么即使我还没有启动应用程序,它也能工作 Android平台的哪些类和服务用于创建此类应用程序 非常感谢。您可以通过以下方式轻松完成类似操作: 您的应用程序是否使用AlarmManager设置了警报 让报警接收器启动检查更新的服务 使用NotificationMan
非常感谢。您可以通过以下方式轻松完成类似操作:
第二种方法是使用AlarmManager。如果某个应用程序设置了报警,那么用户将导航离开该应用程序,然后操作系统决定关闭该应用程序,该报警仍可注册为在特定时间运行。当触发此警报时,应用程序开发人员将运行任何喜欢的代码,包括启动服务。当然,在不通知用户的情况下执行此操作可能是一个问题,尤其是当服务耗尽电池等时。当然,有很多方法可以做到这一点,但在一般情况下,我可以想象:
广播启动Sercvice
。请看这里:
服务
,一个服务就像一个活动,除了没有UI和在后台运行之外服务
会不时查找新帖子,例如在ScheduledThreadPoolExecutor中作为可运行
实现
Runnable
查找新帖子并发出通知处理程序
,或者只是一个不时休眠和唤醒的线程,而不是ScheduledThreadPoolExecutor
。我认为ScheduledThreadPoolExecutor是一种“好”的方式
通知是由我手机上的应用程序拉取的还是由博客推送的
两者都有可能
为什么即使我还没有启动应用程序,它也能工作
好吧,在安卓3.1+上,你需要至少运行一次应用程序才能让这些东西正常工作
除此之外,他们还使用类似于
AlarmManager
(用于pull)或C2DM(用于push)的工具,这两种工具都不需要你“启动应用程序”,就像你需要打开Gmail活动才能获得新的电子邮件一样。我仍然不明白第二点。如果我还没有启动该应用程序,该应用程序如何设置检查更新的服务?也就是说,我打开手机,即使不启动应用程序,我也会收到这些通知。或者其他人而不是我的应用程序将设置该服务?该应用程序可以注册不同的事件,如手机启动等。此外,如果某个应用程序设置了闹钟,则当闹钟响起时,该应用程序可以完全关闭,并且操作系统将启动闹钟中指定的应用程序的任何部分。关于2,一旦我打开手机,谁将启动该服务,因为即使不启动应用程序,我仍然会收到通知。谢谢。大多数情况下,你会希望你的应用程序收到启动服务的操作启动完成广播信号。谢谢,我不知道自动启动的事情。有道理。我不认为有什么像注册AutoStart。。。选中此项可自动启动您的服务:好吧,据我所知,facebook应用程序确实会在启动时启动,但我真的不知道^^^是否有明确的设备启动注册(不称为AutoStart,但足够近)好吧,帖子描述了我的观点1;)我不知道如何实现这个。。。所以它显然不是“注册”(编辑:编辑)