第二天:Intent學習記錄詳解

1悔捶、什么是Intent

首先铃慷,Intent翻譯作意圖,對于 初次接觸蜕该,我們可以理解做發(fā)起請求讓其他組件或活動執(zhí)行某一動作犁柜。Intent是Android應用程序中組件與組件(活動和活動之間通信的中間橋梁);不僅可以指定組件的特定動作執(zhí)行堂淡,還可以在不同Activity之間傳遞數(shù)據(jù)馋缅。一般情況下坛怪,Intent用于啟動活動、啟動服務以及發(fā)送廣播股囊。

1.1、Intent有顯示和隱式之分更啄,下面 我們先介紹一下顯示Intent的用法

Intent intent=new Intent();//先創(chuàng)建一個Intent對象

//指定Intent要執(zhí)行的動作

intent.setClass(MainActivity.this,SecondActivity.class);

//啟動Intent

startActivity(intent);

Intent有多個構(gòu)造函數(shù)稚疹,我們選擇最基本的來說,Intent(Context packageContent ,class<?>cls);

該構(gòu)造方法接受兩個參數(shù)祭务,其中Context packageContent 是為其指定當前啟動活動的上下文對象内狗,我們一般就選擇當前活動的上下文對象MainActivity.this;另外接收的第二個參數(shù)是class<?>cls义锥;該參數(shù)是我們要跳轉(zhuǎn)的目標活動(SecondActivity)柳沙。

這樣理解來看,我們“意圖”就體現(xiàn)的很明確了拌倍。最后我們通過startActivity()這一方法來啟動intent.此方法接收我們創(chuàng)建的intent對象作為啟動的參數(shù)赂鲤。、


2柱恤、隱式Intent

相比于顯式Intent数初,隱式Intent則更加豐富含蓄。他的意圖并不明確指定我們要啟動的Activity,而是在Activity的清單配置文件中進行聲明響應:

在AndroidMainfest文件下梗顺,通過在Activity的標簽下配置<intent-filter>的內(nèi)容泡孩,可以指定當前活動能夠響應的action和category。在AndroidMainfest.xml文件下寺谤,我們添加上如下代碼

<activity android:name=".SecondActivity ">

<intent-filter>

<action android:name="com.example.activitytest.ACTION._START"/>

<category android:name="android.intent.category.DEFAULT"/>

</intent-filter>

</actiivity>

只有<action>和<category>中的內(nèi)容能夠完全匹配上intent中指定的action和category時仑鸥,這個活動才能夠響應該intent.所以在FirstActivity中我們這樣寫:

button1.setOnClickListener(newView.OnClickListener() {

@Override

public voidonClick(View view) {

Intent intent=new Intent("com.example.activitytest.ACTION._START");

startActivity(intent);

}

});

在這個activity中我們創(chuàng)建了一個新的Intent。并把我們在AndroidMianfes 中的SecondActivity的action:(com.example.activitytest.ACTION._START)傳入作為啟動Intent的參數(shù)变屁。

另外由于我們的category聲明了是Default屬性眼俊,所以在intent中,我們不需要改動敞贡,而是在StratActivity()函數(shù)的回調(diào)中泵琳,intent直接載入category就行。

同時誊役,我們也是可以自己定義category的获列,如下:

button1.setOnClickListener(newView.OnClickListener() {

@Override

public voidonClick(View view) {

Intent intent=new Intent("com.example.activitytest.ACTION._START");

intent.addCategory("com.example.activitytest.MY_CATEGORY");

startActivity(intent);

}

});

此時需要注意的是:我們必須在清單文件中為其聲明注冊這個category

<category android:name="com.example.activitytest.MY_CATEGORY"/>


3、intent的更多用法:

顯示網(wǎng)頁

Intent it = new Intent(Intent.ACTION_VIEW);

intent.setData( Uri.parse("http://www.baidu.com"));

startActivity(intent);

為了讓程序知道這是一個Http請求蛔垢,我們需要在 清單文件聲明data的數(shù)據(jù)協(xié)議

<data android:scheme="http"/>

打開撥號界面

Intent intent =new Intent(Intent.ACTION_DIAL);

intent.setData(Uri.parse("tel:10086"));

startActivity(intent);

直接調(diào)用撥打電話

Intent intent =new Intent(Intent.ACTION_CALL);

intent.setData(Uri.parse("tel:10086"));

startActivity(intent);

//要使用這個必須在配置文件中加入相應的permission

調(diào)用發(fā)送短信的程序

Intent it = new Intent(Intent.ACTION_VIEW);

it.putExtra("sms_body", "The SMS text");

it.setType("vnd.android-dir/mms-sms");

startActivity(it);

發(fā)送短信

Uri uri = Uri.parse("smsto:0800000123");

Intent it = new Intent(Intent.ACTION_SENDTO, uri);

it.putExtra("sms_body", "The SMS text");

startActivity(it);


下一節(jié)我們繼續(xù)Intent的啟動活動傳遞數(shù)據(jù)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末击孩,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子鹏漆,更是在濱河造成了極大的恐慌巩梢,老刑警劉巖创泄,帶你破解...
    沈念sama閱讀 211,743評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異括蝠,居然都是意外死亡鞠抑,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,296評論 3 385
  • 文/潘曉璐 我一進店門忌警,熙熙樓的掌柜王于貴愁眉苦臉地迎上來搁拙,“玉大人,你說我怎么就攤上這事法绵』伲” “怎么了?”我有些...
    開封第一講書人閱讀 157,285評論 0 348
  • 文/不壞的土叔 我叫張陵朋譬,是天一觀的道長盐茎。 經(jīng)常有香客問我,道長徙赢,這世上最難降的妖魔是什么字柠? 我笑而不...
    開封第一講書人閱讀 56,485評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮犀忱,結(jié)果婚禮上募谎,老公的妹妹穿的比我還像新娘。我一直安慰自己阴汇,他們只是感情好数冬,可當我...
    茶點故事閱讀 65,581評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著搀庶,像睡著了一般拐纱。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上哥倔,一...
    開封第一講書人閱讀 49,821評論 1 290
  • 那天秸架,我揣著相機與錄音,去河邊找鬼咆蒿。 笑死东抹,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的沃测。 我是一名探鬼主播缭黔,決...
    沈念sama閱讀 38,960評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼蒂破!你這毒婦竟也來了馏谨?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,719評論 0 266
  • 序言:老撾萬榮一對情侶失蹤附迷,失蹤者是張志新(化名)和其女友劉穎惧互,沒想到半個月后哎媚,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,186評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡喊儡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,516評論 2 327
  • 正文 我和宋清朗相戀三年拨与,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片艾猜。...
    茶點故事閱讀 38,650評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡截珍,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出箩朴,到底是詐尸還是另有隱情,我是刑警寧澤秋度,帶...
    沈念sama閱讀 34,329評論 4 330
  • 正文 年R本政府宣布炸庞,位于F島的核電站,受9級特大地震影響荚斯,放射性物質(zhì)發(fā)生泄漏埠居。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,936評論 3 313
  • 文/蒙蒙 一事期、第九天 我趴在偏房一處隱蔽的房頂上張望滥壕。 院中可真熱鬧,春花似錦兽泣、人聲如沸绎橘。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,757評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽称鳞。三九已至,卻和暖如春稠鼻,著一層夾襖步出監(jiān)牢的瞬間冈止,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,991評論 1 266
  • 我被黑心中介騙來泰國打工候齿, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留熙暴,地道東北人。 一個月前我還...
    沈念sama閱讀 46,370評論 2 360
  • 正文 我出身青樓慌盯,卻偏偏與公主長得像周霉,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子润匙,可洞房花燭夜當晚...
    茶點故事閱讀 43,527評論 2 349

推薦閱讀更多精彩內(nèi)容

  • (1)鬧鐘 創(chuàng)建鬧鐘(ACTION_SET_ALARM)示例Intent: 注:為了調(diào)用ACTION_SET_AL...
    sunnygarden閱讀 1,610評論 0 10
  • ¥開啟¥ 【iAPP實現(xiàn)進入界面執(zhí)行逐一顯】 〖2017-08-25 15:22:14〗 《//首先開一個線程诗眨,因...
    小菜c閱讀 6,365評論 0 17
  • Intent是四大組件間傳值的紐帶 Intent通過下面的屬性來描述以上的某個意圖: 1、Action(動作):用...
    Kevin_Curry閱讀 644評論 0 2
  • 去過一些地方孕讳,大多麻木無感匠楚,偶爾愛上一個地方巍膘,需要一些緣分,一點時間芋簿。 初來上海峡懈,是世博那年,只記得年輕的奔走与斤,是...
    fall_Provence閱讀 334評論 0 0
  • 最近需要在自己MacBookPro上用gem 裝東西, 記載一下.首先是 Connection Reseted 的...
    小陽哥_閱讀 5,543評論 2 3