我为Android手机开发了一个新闻应用程序。每天都会有新文章。我正在使用托管来存储文章,我的应用程序使用webview来加载这些信息。现在我的问题是如何编程通知(不使用第三方服务),以便在发布新文章时,我的应用程序应该在android通知栏上生成通知。
答案 0 :(得分:1)
你应该看看Service
班,
http://developer.android.com/guide/components/services.html
内置在Android框架中作为独立线程工作(对用户不可见),这可以为您提供在设备启动时在android后台服务中运行任务的可能性,这应该包含带有URI的代码从你正在谈论的主持人那里得到文章
在此之后,您应该先查看Notification
班级http://developer.android.com/reference/android/app/Notification.html
向android发送信号很容易通知用户你要显示的信息,这个子类使它更容易Notification.Builder
这是一个例子
Notification noti = new Notification.Builder(mContext)
.setContentTitle("New mail from " + sender.toString())
.setContentText(subject)
.setSmallIcon(R.drawable.new_mail)
.setLargeIcon(aBitmap)
.build();
答案 1 :(得分:0)
这是一个复杂的答案。要显示通知,有%x
和许多选项可用于显示内容的内容,时间和方式。
但是,由于您的信息是远程管理的,因此您需要推送服务来通知您的应用需要显示的内容以及何时显示它。
Google Cloud Messaging(GCM)是一款出色的第三方解决方案。但是,如果你想实现自己的,那么你所说的是设置一个非常复杂的长轮询TCP服务。您可能希望至少使用类似XMPP和相关库的东西来开始。但即使这只是非常基本的......
您需要设备注册到服务器以“监听”事件。您的服务器需要处理这些连接,并发布事件。您需要处理消息队列,因为手机会脱机。这些是GCM处理的部分。
之后,如果您想要个性化内容(以及谁没有?),您将需要身份验证策略。如果您的应用程序很受欢迎,您将需要分布式服务器等,以处理注册,订阅请求和更改。您可能还需要服务器保存的用户设置(适用于多个设备或用户获取新手机时)。您可能还希望用户使用Facebook或LinkedIn设置帐户,然后您必须处理这些帐户。我使用GCM构建了一个基本服务,其余部分工作量很大。
许多第三方服务对小公司/项目基本上是免费的。像Parse或QuickBlox一样。
答案 2 :(得分:0)
您应该查看Google Cloud Messaging(GCM)。您需要设置服务器和客户端才能使其正常工作。 一般步骤是。 1.使用谷歌为GCM注册项目。 2.您的应用需要使用gcm api将设备注册到项目中。 3.在服务器上,当您有新内容时,使用Gcm服务器api发送消息。 4.在您的应用上,当您收到gcm消息时,触发通知以启动该应用。
答案 3 :(得分:0)
以下是Google云端消息传递的一些很好的实现
此外,您可以使用RSS提要来实现此类功能,特别是在频繁更改数据的情况下。
对于通知,您可以在此处关注我的存储库我尝试制作所有可能类型的通知 Android Notification Examples