1. 程式人生 > >Activity intent intent filter 廣播接收器的區別

Activity intent intent filter 廣播接收器的區別

Activity是一個負責與使用者互動的元件,可以通過setContentView(View)來顯示指定控制元件。 Intent中文意思是意圖,意向,在Android中提供了Intent機制來協助應用間的互動與通訊,Intent負責對應用中一次操作的動作、動作涉及資料進行描述,Android則根據此Intent的描述,負責找到對應的元件,將 Intent傳遞給呼叫的元件,並完成元件的呼叫。Intent不僅可用於應用程式之間,也可用於應用程式內部的Activity/Service之間的互動。因此,可以將Intent理解為不同元件之間通訊的媒介專門提供元件互相呼叫的相關資訊。

intent的兩種用法:

(1). 顯式的Intent即在構造Intent物件時就指定接收者,它一般用在知道目標元件名稱的前提下,一般是在相同的應用程式內部實現的,如下:

Intent it = new Intent(Activity.Main.this, Activity2.class);

startActivity(it);  

上面那個intent中, 直接指明瞭接收者:Activity2

(2).隱式的Intent,即Intent的傳送者在構造Intent物件時,並不知道也不關心接收者是誰,有利於降低傳送者和接收者之間的耦合,它一般用在沒有明確指出目標元件名稱的前提下,一般是用於在不同應用程式之間,如下:

Intent it = new Intent();

it.setAction("com.google.test");

startActivity(it);

intent-Filter

IntentFilter就是用於描述intent的各種屬性, 比如action, category等

ContentProvider為程式提供了在應用程式之前共享資料的一種機制,而我們知道每一個應用程式都是執行在不同的應用程式的,資料和檔案在不同應用程式之間達到資料的共享不是沒有可能,而是顯得比較複雜,而正好Android中的ContentProvider則達到了這一需求,比如有時候需要操作手機裡的聯絡人,手機裡的多媒體等一些資訊,都可以用到這個ContentProvider

來達到我們所需。 Service通常稱之為後臺服務,其中後臺一詞是相對於前臺而言的,具體是指其本身的執行並不依賴於使用者可視的UI介面,因此,從實際業務需求上來理解,Service的適用場景應該具備以下條件:1.並不依賴於使用者可視的UI介面,2.具有較長時間的執行特性。

BroadcastReceiver: 廣播接收器是一個專注於接收廣播資訊,並做出對應處理的元件。

廣播事件的流程註冊廣播事件:註冊方式有兩種,一種是靜態註冊,就是在AndroidManifest.xml檔案中定義,註冊的廣播接收器必須要繼承BroadcastReceiver

另一種是動態註冊,是在程式中使用Context.registerReceiver註冊,註冊的廣播接收器相當於一個匿名類。兩種方式都需要IntentFIlter傳送廣播事件:通過Context.sendBroadcast來發送,由Intent來傳遞註冊時用到的Action接收廣播事件:當傳送的廣播被接收器監聽到後,會呼叫它的onReceive()方法,並將包含訊息的Intent物件傳給它。onReceive中程式碼的執行時間不要超過5s,否則Android會彈出超時dialog

相關推薦

Activity intent intent filter 廣播接收器區別

Activity:是一個負責與使用者互動的元件,可以通過setContentView(View)來顯示指定控制元件。 Intent:中文意思是“意圖,意向”,在Android中提供了Intent機制來協助應用間的互動與通訊,Intent負責對應用中一次操作的動作、動作所涉及

Activityintent-filter匹配規則以及所有mimeType的所有寫法

當我們使用Intent intent = new Intent(Intent.ACTION_VIEW); startActivity(intent);這種方式啟動Activity的時候, 叫做隱式呼叫;隱式呼叫最重要的就是匹配規則,否則系統也不知道該啟動那個Activity;

ActivityIntent的知識

data屬性 explicit card 測試 dia 匹配 nac 系統 ber Intent中的四個重要屬性——Action、Data、Category、Extras   Intent作為聯系各Activity之間的紐帶,其作用並不僅僅只限於簡單的數據傳遞。通過其自帶的

Android-活動(ActivityIntent

稍微正常點的應用都應該不只有一個活動,通常都是有成打的活動,然後通過各種事件進行跳轉。連線起各種活動的橋樑,就是所謂的Intent。 什麼是Intent? Intent是Android用來連線各個元件並且將元件進行j解耦的重要元件,比如指明當前元件的意圖,或者在元件之間傳遞資料。 Intent相當於一個

說說 ActivityIntent,Service 是什麼關係

一個 Activity 通常是一個單獨的螢幕, 每一個 Activity 都被實現為一個單獨的類, 這些類都 是從 Activity 基類中繼承來的, Activity 類會顯示由檢視控制元件組成的使用者介面, 並對檢視控 件的事件做出響應。  Intent 的呼叫是用來進

Android(一) activityintent知識和總結

導讀: 第一部分,基礎activity知識 第二部分,Intent傳遞值 第三部分,Intent傳遞類物件 Activity 1.建立Activity的注意點

(轉)如何在廣播接收器中開啟一個新的Activity

原地址:http://blog.csdn.net/rually/article/details/47122937 在廣播接收器當中有Context 這個引數,說明是可以提供程式上下文環境引數的,但是如果我們直接用這樣的程式碼來開啟一個新的activity的話: publi

activity使用Intent頻繁切換導致記憶體溢位:dequeue native buffer fail:Out of memory

兩個activity,activity中並沒有複雜的ui操作,也沒有執行子執行緒,但是在真機測試的時候,頻繁地進行切換,就會報記憶體溢位錯誤,如下: <SwapBuffers:886>:dequeue native buffer fail:Out of mem

Android ActivityIntent機制學習筆記

Activity Android中,Activity是所有程式的根本,所有程式的流程都執行在Activity之中,Activity具有自己的生命週期(見http://www.cnblogs.com/feisky/archive/2010/01/01/1637427.ht

Android中的context、activityintent、service使用詳解

在一個Android應用中,主要是由四種元件組成的,這四種元件分別是Context,Activity,Intent,Service。 Content被譯為上下文,是應用程式中心,應用程式所有功能可以通過他訪問。Activity活動,可以理解為視窗,是人機互動的核

android中多個activityIntent跳轉時,跳轉後的activity顯示白屏問題

昨天剛解決Intent無法成功跳轉到相應的activity問題後,後續的問題就來了---------跳轉後的activity介面顯示白屏,也就是自己編寫相應的.xml的內容沒顯示出來。在網上搜索了下問題答案,但是都說是setContentView()有問題,我是仔仔細細的檢

關於ActivityIntent傳值“FAILED BINDER TRANSACTION”問題

      今天通過Intent在Activity間傳遞bitmap資料 Intent intent=new Intent(); intent.setClass(A.this,B.class); intent.putExtra("bitmap", bit);

Android-----Intent中通過startActivity(Intent intent )顯式啟動新的Activity

.class lin cal xtra () 默認 eat amp vertica Intent:即意圖,一般是用來啟動新的Activity,按照啟動方式分為兩類:顯式Intent 和 隱式Intent 顯示Intent就是直接以“類名稱”來指定要

SpringMVC的攔截器(Interceptor)和過濾器(Filter)的區別與聯系

get err 實例 分享 切面 簡介 () lee XML 一 簡介 (1)過濾器: 依賴於servlet容器。在實現上基於函數回調,可以對幾乎所有請求進行過濾,但是缺點是一個過濾器實例只能在容器初始化時調用一次。使用過濾器的目的是用來做一些過濾操作,獲取我們想要獲取

servlet,filter,listener,intercepter區別

ont http 監聽器 ica 攔截 啟動 XML app 響應 servlet:是一種運行於服務器端的java應用程序,具有獨立於平臺和協議的特性,並且可以動態生成web頁面;它工作在客戶端請求和服務器響應的中間層。servlet的主要功能在於交互式地瀏覽和修改數據,生

Android 發送本地廣播 以及創建廣播接收器

ack creat 註冊 string bundle cas err activity 實例 1、創建本地廣播接收器 18 public class MainActivity extends AppCompatActivity{ 19 private Button

onNewIntent(Intent intent):用法

rec bundle 發生 IV let AR 可能 content chmod 參考:http://www.cnblogs.com/shitianzeng/articles/2807062.html onNewIntent(Intent intent):

廣播廣播接收器

廣播接收器的註冊方式有兩種,靜態註冊廣播(在AndroidManifest中註冊)和動態註冊廣播(在Java程式碼中註冊)。從Android8開始,取消了大多數的靜態註冊廣播。 一.動態註冊廣播接收器(動態註冊的廣播接收器只有程式啟動後才能收到廣播) 1.定義一個繼承自BroadcastRe

單播、多播(組播)和廣播區別

本文來自百度文庫的一篇文件,放在部落格供自己和各位朋友學習和了解 單播”(Unicast)、“多播”(Multicast)和“廣播”(Broadcast)這三個術語都是用來描述網路節點之間通訊方式的術語。那麼這些術語究竟是什麼意思?區別何在?    1.單播:網路節點之間的通

Android應用程式註冊廣播接收器 registerReceiver 的過程分析

                        前面我們介紹了Android系統的廣播機制,從本質來說,它是一種訊息訂閱/釋出機制,因此,使用這種訊息驅動模型的第一步便是訂閱訊息;而對Android應用程式來說,訂閱訊息其實就是註冊廣播接收器,本文將探討Android應用程式是如何註冊廣播接收器以及把廣播接收