摘要:注意類別指示此的圖標(biāo)應(yīng)放入系統(tǒng)的應(yīng)用啟動(dòng)器。如果元素未使用指定圖標(biāo),則系統(tǒng)將使用元素中的圖標(biāo)使用方法對(duì)象是對(duì)象的包裝器。主要應(yīng)用于以下場(chǎng)景通知應(yīng)用小部件定時(shí)任務(wù)使用注意事項(xiàng)適用于啟動(dòng)的。
極力推薦文章:歡迎收藏
Android 干貨分享
Intent 是一個(gè)消息傳遞對(duì)象,主要用于組建之間的通訊,例如:?jiǎn)?dòng)Activity、啟動(dòng)Service、傳遞Broadcast等
本篇文章主要介紹 Android 開發(fā)中的部分知識(shí)點(diǎn),通過閱讀本篇文章,您將收獲以下內(nèi)容:
Intent 流程圖 1. Intent 主要用途 1. 啟動(dòng)ActivityIntent 主要用途、流程圖
Intent 分類
隱式 Intent 接收過濾類型
PendingIntent 使用方法
Intent 7 大常用屬性
使用ADB調(diào)試 Intent
Intent 常用方法使用總結(jié)
startActivity()
無返回值,直接啟動(dòng)Activity
startActivityForResult()
有返回值,返回值在onActivityResult() 回調(diào)
startService()
一次性操作
bindService()
綁定組件,隨組件生命周期結(jié)束而結(jié)束
3. 傳遞 BroadcastsendBroadcast()
普通無序廣播
sendOrderedBroadcast()
有序廣播
sendStickyBroadcast()
持續(xù)黏性廣播
2. Intent 分類 1.顯示 Intent按名稱(完全限定類名)指定要啟動(dòng)的組件。
例如:
Intent intentActivity = new Intent(MainActivity.this, ActivityMethods.class); startActivity(intentActivity);2.隱式 Intent
不會(huì)指定特定的組件,而是聲明要執(zhí)行的常規(guī)操作,從而允許其他應(yīng)用中的組件來處理它
例如:
/** * 發(fā)送短信 * **/ public static void SendMms(Context context, String mmsString) { Intent sendIntent = new Intent(); sendIntent.setAction(Intent.ACTION_SEND); sendIntent.putExtra(Intent.EXTRA_TEXT, mmsString); sendIntent.setType("text/plain"); // sendIntent.setData(Uri.parse("smsto:")); // This ensures only SMS apps respond // 修改 Intnent 選擇器Tittle String title = context.getResources().getString(R.string.hello_world); Intent chooser = Intent.createChooser(sendIntent, title); // 驗(yàn)證是否有Activity 接收 if (sendIntent.resolveActivity(context.getPackageManager()) != null) { context.startActivity(chooser); } }3. 隱式Intent 接收過濾類型
應(yīng)用可以接收哪些隱式 Intent,請(qǐng)?jiān)谇鍐挝募惺褂?
在 name 屬性中,聲明接受的 Intent 操作。該值必須是操作的文本字符串值,而不是類常量。
例如:
java 代碼中啟動(dòng)的Intent的Action
Intent sendIntent = new Intent("String_action");
Androidmanfest.xml 中過濾標(biāo)簽如下:
使用一個(gè)或多個(gè)指定數(shù)據(jù) URI 各個(gè)方面(scheme、host、port、path 等)和 MIME 類型的屬性,聲明接受的數(shù)據(jù)類型。
在 name 屬性中,聲明接受的 Intent 類別。該值必須是操作的文本字符串值,而不是類常量。
例如:
禁止其他應(yīng)用通過Intent 掉起自己組件android:exported="false"
應(yīng)用主要入口點(diǎn)Action
以下兩個(gè)元素必須配對(duì)使用,Activity 才會(huì)顯示在應(yīng)用啟動(dòng)器中。
注意: CATEGORY_LAUNCHER 類別指示此 Activity 的圖標(biāo)應(yīng)放入系統(tǒng)的應(yīng)用啟動(dòng)器。 如果
PendingIntent 對(duì)象是 Intent 對(duì)象的包裝器。PendingIntent 的主要目的是授權(quán)外部應(yīng)用使用包含的 Intent,就像是它從您應(yīng)用本身的進(jìn)程中執(zhí)行的一樣。
主要應(yīng)用于以下場(chǎng)景
通知
NotificationManager
應(yīng)用小部件
AppWidget
定時(shí)任務(wù)
AlarmManager
PendingIntent 使用注意事項(xiàng):1.PendingIntent.getActivity()
適用于啟動(dòng) Activity 的 Intent。
2.PendingIntent.getService()
適用于啟動(dòng) Service 的 Intent。
3.PendingIntent.getBroadcast()
適用于啟動(dòng) BroadcastReceiver 的 Intent。
5. Intent 7 大屬性1 . Component Name(目標(biāo)組件的全類、組件名稱)
setComponent(),
getComponent(),
setClass() ,
setClassName()
2 . Action (intent 將執(zhí)行的動(dòng)作)
setAction()
`getAction()
`
3 . Data (用于向Action 屬性提供操作數(shù)據(jù))
URI對(duì)象scheme://host:port/path (協(xié)議頭,主機(jī),端口,路徑)
4 . Type 分類
指定Data所指定的Uri對(duì)應(yīng)的MIME類型,不指定會(huì)根據(jù)數(shù)據(jù)自動(dòng)推導(dǎo)
5 . Category 類別
為Action 提供額外的附件類別信息,可以有多個(gè)Category,但必須有一個(gè)default。
6 . Extra 數(shù)據(jù)載體
通過鍵值對(duì)進(jìn)行數(shù)據(jù)存儲(chǔ),用于多個(gè)Action之間提供數(shù)據(jù)交換.
7 . Flags 標(biāo)記
標(biāo)記組件如何啟動(dòng),以及啟動(dòng)后如何對(duì)待 FALG_ACTIVITY_SINGLE_TOP
FALG_ACTIVITY_CLEAR_TOP等等)
語(yǔ)法
adb shell am start -a-t -d -e -n
eg :
adb shell am start -a android.intent.action.DIAL -d tel:555-5555 -n org.example.MyApp/.MyActivity7.Intent 常用方法使用總結(jié)
由于總結(jié)內(nèi)容較多,已經(jīng)另開文章講述。
Intent 常用方法使用總結(jié)
至此,本篇已結(jié)束,如有不對(duì)的地方,歡迎您的建議與指正。同時(shí)期待您的關(guān)注,感謝您的閱讀,謝謝!
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/75830.html
摘要:極力推薦文章歡迎收藏干貨分享閱讀五分鐘,每日十點(diǎn),和您一起終身學(xué)習(xí),這里是程序員本篇文章主要介紹開發(fā)中的部分知識(shí)點(diǎn),通過閱讀本篇文章,您將收獲以下內(nèi)容生命周期簡(jiǎn)介必須在中注冊(cè)啟動(dòng)的方法啟動(dòng)帶返回值的結(jié)束方法狀態(tài)保存,恢復(fù)的方法面 showImg(https://upload-images.jianshu.io/upload_images/5851256-0b56fc8e812963d7...
摘要:只能執(zhí)行單一操作,無法返回結(jié)果給調(diào)用方,常用于網(wǎng)絡(luò)下載上傳文件,播放音樂等。綁定模式此模式通過綁定組件等調(diào)用啟動(dòng)此服務(wù)隨綁定組件的消亡而解除綁定。 showImg(https://segmentfault.com/img/remote/1460000019975019?w=157&h=54); 極力推薦文章:歡迎收藏Android 干貨分享 showImg(https://segme...
摘要:,表明執(zhí)行操作的字符串。,這個(gè)屬性可以指示系統(tǒng)如何啟動(dòng)一個(gè),以及啟動(dòng)之后如何處理。是一個(gè)字符串,例如這里的的構(gòu)造函數(shù)傳入了兩個(gè)參數(shù),和組件名,調(diào)用了方法后,會(huì)在當(dāng)前的應(yīng)用中啟動(dòng)這個(gè)服務(wù)。 1. 前言 ? ? ? ?在Android中有四大組件,這些組件中有三個(gè)組件與Intent相關(guān),可見Intent在Android整個(gè)生態(tài)中的地位高度。Intent是信息的載體,用它可以去請(qǐng)求組件做相應(yīng)...
閱讀 1870·2021-11-25 09:43
閱讀 3161·2021-11-15 11:38
閱讀 2708·2019-08-30 13:04
閱讀 483·2019-08-29 11:07
閱讀 1492·2019-08-26 18:37
閱讀 2697·2019-08-26 14:07
閱讀 582·2019-08-26 13:52
閱讀 2278·2019-08-26 12:09