当前位置:操作系统 > 安卓/Android >>

Android学习系列(7)--App消息推送机制

有人说,程序员很安静,但我不完全同意,程序员的聒噪,是藏在代码后面,是藏在程序后面。
这篇文章是android开发人员的必备知识,是我特别为大家整理和总结的,不求完美,但是有用。

1.消息推送机制
     服务器器端需要变被动为主动,通知客户一些开发商认为重要的信息,无论应用程序是否正在运行或者关闭。
     我想到了一句话:Dont call me,i will call you!
     QQ今天在右下角弹出了一个对话框:"奥巴马宣布本拉登挂了...",正是如此。
     自作聪明,就会带点小聪明,有人喜欢就有人讨厌。

2.独立进程
     无论程序是否正在运行,我们都要能通知到客户,我们需要一个独立进程的后台服务。
     我们需要一个独立进程的后台服务。
     在AndroidManifest.xml中注册Service时,有一个android:process属性,如果这个属性以"."开头,则为此服务开启一个全局的独立进程,如果以":"开头则为此服务开启一个为此应用私有的独立进程。举个具体的例子吧,我们新建了一个 Application,创建了主进程com.cnblogs.tianxia,那么:

 
1 <!--下面会创建一个全局的com.cnblogs.tianxia.message的独立进程-->
2 <service android:name=".service.MessageService" android:label="消息推送" android:process=".message" />
3 <!--或者-->
4 <!--下面会创建一个应用私有的com.cnblogs.tianxia:message的独立进程-->
5 <service android:name=".service.MessageService" android:label="消息推送" android:process=":message" />

    我们没必要建立一个全局的,本文选择第二种方案,创建一个当前应用私有的独立进程。

3.通知用户和点击查看

 
01 public class MessageService extends Service {
02   
03     //获取消息线程
04     private MessageThread messageThread = null;
05   
06     //点击查看
07     private Intent messageIntent = null;
08     private PendingIntent messagePendingIntent = null;
09   
10     //通知栏消息
11     private int messageNotificationID = 1000;
12     private Notification messageNotification =
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,