BroadcastReceiver與Notification的綜合應用自定義Action的調用方式

Android的實際應用開發中,咱們常常會遇到數據推送的相關技術,好比在應用軟件啓動後,系統會自動在Android的通知欄彈出相應的信息,以便於提示用戶進行相關的操做或消息推送。那這項技術在Android中式如何實現的呢?咱們經過這篇文章簡單介紹一下該技術的實現方法,但願你們可以瞭解並掌握這項核心的技術。 android

     首先,若想實現這個技術要涉及如下三個核心的知識點: 佈局

1. 
自定義Action的調用方式 spa

2.     
BroadcastReceiver的基本應用 xml

3.     
Notification通知機制的使用 對象

本文僅對知識點1作一個講解和闡述,後續知識點在後續文章中進行講解。 事件

那麼,咱們就逐一對這些技術進行一個簡單的說明,但願你們可以快速掌握這項技術。 開發

項目實現效果圖:
 

 
 
 
 
 
 
 
知識點1:自定義Action的調用方式 字符串

       Intent做爲Android系統中各組件之間的紐帶起着相當重要的做用,在咱們的平時應用中Intent對象主要完成兩件事情,一件是多個Activity(界面)之間的跳轉,另外一個件是使用putExtras()方法完成界面件數據的傳遞。其實在咱們的AndroidIntent的做用不止這些,他有着強大的功能,不少組件的啓動所有依賴於該對象,好比說Service服務組件、Receiver接收器、ContentProvier內容提供者等,他們都是用過Intent對象來啓動的,固然啓動的方法絕對不單單是startActivity(intent)這麼簡單了。對於不一樣的組件對象,其有着不一樣的啓動方法。下面我給你們簡單介紹一個使用自定義Action動做來完成的窗體Activity組件啓動,經過這個案例拋磚引玉,主要讓你們掌握基本的使用方法,從此能夠觸類旁通,以此類推。 虛擬機

       首先說一下Action動做,在Android中咱們的每一個窗體組件對象都必須在AndroidManifest.xml文件中進行註冊聲明,而首啓動的界面在聲明中有一個<intent-filter>的標籤,在該標籤下有一個<action
android:name=」xxxx」>
的標籤和一個<category android:name=」xxx」>的標籤,以下圖所示。
it


 
咱們應該對這兩個標籤有必定的認知和了解。

代碼分析:


 

       <action>標籤的做用是指明該組件的核心動做類型,其android:name屬性表示的是Android系統內置的標準動做,好比說 android.intent.action.MAIN 它告訴虛擬機該界面爲應用程序的入口界面,爲首啓動標準動做。但讓這個值也能夠咱們本身定義一個,比如給該組件起一個別名,從而也就造成了咱們的自定義Action動做。





       <category>標籤的做用是指明該組件的類型,其 android:name屬性表示的是Android系統內置的標準類型模式,好比說 android.intent.category.LAUNCHER 它告訴戴爾維克虛擬機該組件爲啓動類型組件。

       那咱們如何本身定義一個Action動做來完成組件的啓動和調用呢?

       環節1:建立一個Activity窗體界面

       步驟1-1:在Android項目的res文件夾的layout文件夾中建立一個佈局文件,佈局裏面只需放置一個TextView組件便可。具體代碼以下:

       activity_second.xml



       步驟1-2:在Android項目的src文件夾下建立一個SecondActivity的窗體類文件,具體代碼以下:
 

 


       環節二:在AndroidManifest.xml文件中註冊並聲明該窗體組件對象

       步驟2-1:在AndroidManifest.xml文件中注意對Activity的聲明,具體代碼以下:


 


特別注意的是咱們要在註冊的時候要自定義一個Action的名稱,命名規範爲 項目.包名稱.組件名稱 的基本格式。本例將Action定義爲 myproject14.activity.second

環節三:在MainActivity的按鈕單擊事件中編寫代碼實現自定義Atiion的調用。

步驟3-1:在MainActivity的按鈕單擊事件處理中編寫代碼以下所示:




使用setAction(Action_Name)方法完成對啓動組件名稱的設置,ACTION_NAME爲程序的全局性字符串常量,在先前有過聲明,以下所示:



該字符串的值應該與AndroidManifest.xml文件中Action標籤的名稱保持一致。

       本文章首先對自定義Action作一個簡單的簡介,但願你們關注個人後續內容。

相關文章
相關標籤/搜索