Intent

Intent

顯示意圖

btn_goNext.setOclickListener{
    val IntentGoNext = Intent(this,SecendActivity::class.java)
  //發(fā)送意圖
  startActivity(IntentGoNext)
}

隱式意圖

//AndroidManifest.xml配置
<intent-filter>
  <action android:name="自己的 廣播頻道/動(dòng)作 | 系統(tǒng)的"></action>
  <category android:name="自己額外附加信息 | 系統(tǒng)的" />
</intent-filter>

1.action 和 category 決定了這個(gè)頁面可以響應(yīng)哪些意圖

2.只有意圖的 action 和 category 與頁面的 action 和 category 完全匹配才能做出響應(yīng)

3.當(dāng) category 值為 android.intent.category.DEFAULT時(shí),我們創(chuàng)建意圖時(shí)就不用手動(dòng)指定 category . 因?yàn)檫@個(gè)在創(chuàng)建意圖的時(shí)候會(huì)自動(dòng)添加

btn_goNext.setOclickListener{
    val IntentGoNext = Intent("my動(dòng)作")
  IntentGoNext.addcategory("my附加信息")
  //發(fā)送意圖
  startActivity(IntentGoNext)
}
//此時(shí)所有包含<my動(dòng)作>|<my附加信息>的activity都會(huì)被作為選擇

隱式意圖擴(kuò)展

隱式意圖使得我們可以調(diào)用其他app的activity

//開啟瀏覽器訪問百度
btn_goNext.setOclickListener{
    val IntentGoNext = Intent(Intent.ACTIION_VIEW)//內(nèi)置動(dòng)作
  IntentGoNext.data = Uri.parse("https://www.baidu.com")
  //發(fā)送意圖
  startActivity(IntentGoNext)
}

//開啟電話應(yīng)用
btn_goNext.setOclickListener{
    val IntentGoNext = Intent(Intent.ACTIION_DIAL)//內(nèi)置動(dòng)作
  IntentGoNext.data = Uri.parse("tel:10086")//tel協(xié)議
  //發(fā)送意圖
  startActivity(IntentGoNext)
}
//頁面響應(yīng)瀏覽器意圖
<intent-filter>
  <action android:name="android.intent.action.VIEW"/>
  <data android:scheme="https"/>//響應(yīng)所有https協(xié)議的意圖
</intent-filter>
//頁面響應(yīng)電話意圖
<intent-filter>
  <action android:name="android.intent.action.DALL"/>
  <data android:scheme="tel"/>//響應(yīng)所有tel協(xié)議的意圖
</intent-filter>

Intent.data

    Intent.data接受一個(gè)Uri對(duì)象 用來指定意圖正在操作的數(shù)據(jù)

    URI (統(tǒng)一資源標(biāo)志符)

    URI格式 : scheme://host:port/path 

    可以在intent-filter里面的data標(biāo)簽篩選意圖

data標(biāo)簽屬性
● android:scheme。用于指定數(shù)據(jù)的協(xié)議部分,如上例中的https、tel部分

● android:host。用于指定數(shù)據(jù)的主機(jī)名部分,如上例中的www.baidu.com部分。

● android:port。用于指定數(shù)據(jù)的端口部分,一般緊隨在主機(jī)名之后。

● android:path。用于指定主機(jī)名和端口之后的部分,如一段網(wǎng)址中跟在域名之后的內(nèi)容。

Intent.type

MIME Type指數(shù)據(jù)的類型,例如:video/mp4,video/avi

    可以在intent-filter里面的data標(biāo)簽篩選意圖

data標(biāo)簽屬性

● android:mimeType。用于指定可以處理的數(shù)據(jù)類型,允許使用通配符的方式進(jìn)行指定。
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容