Android學習系列(7)–App消息推送機制 – Android移動開發技術文章_手機開發 Android移動開發教學課程

有人說,程序員很安靜,但我不完全同意,程序員的聒噪,是藏在代碼後面,是藏在程序後面。
這篇文章是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 = <CODE class="j

You May Also Like