Android之Intent

來源:互聯網
上載者:User

標籤:

使用Intent和IntentFilrter進行通訊,Intent分為顯和隱式意圖,顯不用配置。

一般在同一個應用程式優先使用顯,因為效率較高。
Intent是Android用於封裝的意圖,不管想啟動一個新的Activity還是Service或者是BroadcastReceiver,都需要
Intent來作為橋樑。

Intent包含了七大屬性:
Component,Category,Action,Data,Type,Extra和Flag,其中Component用於明確指定需要啟動的目標組件。
Extra用於攜帶需要交換的資料。

以下是詳細的介紹:
//顯示Intent 和隱式Intent。
啟動新的Activity。
//注意:新的activity 一定要在Manifest檔案裡進行配置
Intent intent = new(MainActivity.this,SecondActivity.class);//.class尾碼不能忘記
startActivity(intent);
一個顯示Intent對象最多隻能包含一個Action屬性,卻可以包含多個Category屬性。
setAction(String str); addCategory(String str);

顯必須指定開啟的組件的具體資訊(包名 組件名 組件的Class)。
可以用intent來調用系統的其他應用。如網路設定本地相簿,注意添加許可權。
Intent intent = new intent("packagename","classname ");
startActivity(intent);//注意配置Activity。
//小華華的視頻講的很不錯。
顯不用配置。

隱式意圖:顯的耦合性比較差,
描述動作的行為。
Intent intent = new Intent();
intent.setAction();//系統預設了很多動作類型。
intent.setData(Uri data);
startActivity(intent);
//需要

//一個activity 可以配置多個intent-filter,只要滿足其中的一個意圖就可以調用。
一個隱式intent還可以設定多個動作 ,只要滿足其中的一個那麼就可以調用。

同一個應用程式裡面,自己啟用自己的東西,推薦使用顯,效率高。
不同的程式裡,啟用別人的應用,或者是讓自己的某一個介面希望被別人啟用
推薦使用隱士意圖。
使用隱士意圖時
1.查詢系統裡面所有的activity看看是不是有滿足條件的activity。
2.如果只有一個則直接使用,但是如果有多個符合的activity那麼列表顯示
3.如果沒有那麼拋出異常。activity not found exception.

從一個activity往另外一個activity 裡傳人資料:
Intent intent = new Intent(this, secondActivity.class);
intent.putExtra("name",name);

//八大基本的資料都能傳遞過去包括String類型,key-values的形成儲存資料

startActivity(intent);
-------------------------------------------------------------------------- 
在secondActivity的onCreate()裡:
Intent intent = getIntent();
String name = intent.getStringExtra("name");

Android之Intent

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.