Android学习系列(7)--App消息推送机制
有人说,程序员很安静,但我不完全同意,程序员的聒噪,是藏在代码后面,是藏在程序后面。
这篇文章是android开发人员的必备知识,是我特别为大家整理和总结的,不求完美,但是有用。
1.消息推送机制
服务器器端需要变被动为主动,通知客户一些开发商认为重要的信息,无论应用程序是否正在运行或者关闭。
我想到了一句话:Dont call me,i will call you!
QQ今天在右下角弹出了一个对话框:"奥巴马宣布本拉登挂了...",正是如此。
自作聪明,就会带点小聪明,有人喜欢就有人讨厌。
2.独立进程
无论程序是否正在运行,我们都要能通知到客户,我们需要一个独立进程的后台服务。
我们需要一个独立进程的后台服务。
在AndroidManifest.xml中注册Service时,有一个android:process属性,如果这个属性以"."开头,则为此服务开启一个全局的独立进程,如果以":"开头则为此服务开启一个为此应用私有的独立进程。举个具体的例子吧,我们新建了一个 Application,创建了主进程com.cnblogs.tianxia,那么:
2 |
< service android:name = ".service.MessageService" android:label = "消息推送" android:process = ".message" /> |
5 |
< service android:name = ".service.MessageService" android:label = "消息推送" android:process = ":message" /> |
我们没必要建立一个全局的,本文选择第二种方案,创建一个当前应用私有的独立进程。
3.通知用户和点击查看
01 |
public class MessageService extends Service { |
04 |
private MessageThread messageThread = null ; |
07 |
private Intent messageIntent = null ; |
08 |
private PendingIntent messagePendingIntent = null ; |
11 |
private int messageNotificationID = 1000 ; |
12 |
private Notification messageNotification =
|