Android Intent的 Component 使用
Intent 組成元素的列表說(shuō)明
| 元素名稱 | ?設(shè)置方法 | ?說(shuō)明與用途 |
| Component?? ? | setComponent?? ? | 組件,用于指定Intent的來(lái)源與目的 |
| Action?? ? | setAction?? ? | 動(dòng)作,用于指定Intent的操作行為 |
| Data | setData?? ? | ?即Uri,用于指定動(dòng)作要操縱的數(shù)據(jù)路徑 |
| Category?? ? | setCategory?? ? | 類別,用于指定Intent的操作類別 |
| Type?? ? | setType?? ? | 數(shù)據(jù)類型,用于指定Data類型的定義 |
| Extras?? ? | setExtras | 擴(kuò)展信息,用于指定裝載的參數(shù)信息 |
| Flags | setFlags?? ? | ?b標(biāo)志位,用于指定Intent的運(yùn)行模式(啟動(dòng)標(biāo)志)? |
Intent?設(shè)置組件名稱的方法:setComponent()、setClass()、setClassName() 或 Intent 構(gòu)造函數(shù)
這里回顧下setComponent() 方法,
里面有三個(gè)方法如下
第一個(gè)?創(chuàng)建一個(gè)新的組件標(biāo)識(shí)符
通過(guò)注釋可以看出這個(gè)方法的作用:創(chuàng)建一個(gè)新的組件標(biāo)識(shí)符
參數(shù)pkg :組件所在包的名稱,不能為空(可以把它看作applicationId)
就是這個(gè)
參數(shù)cls:pkg 中實(shí)現(xiàn)組件的類的名稱,不能為空 (可以想成是包名和類型的組合)
下面實(shí)現(xiàn)下
Intent intent1 = new Intent();ComponentName componentName = new ComponentName("com.example.myapplication","com.example.myapplication.SecondActivity");intent1.setComponent(componentName);startActivity(intent1);
第二個(gè):從上下文和類名創(chuàng)建一個(gè)新的組件標(biāo)識(shí)符
從注釋可以看出這個(gè)方法的作用:從上下文和類名創(chuàng)建一個(gè)新的組件標(biāo)識(shí)符
參數(shù)pkg:實(shí)現(xiàn)組件的包的上下文,從中檢索實(shí)際包名稱。(上下文)
參數(shù)cls:<var>pkg</var> 里面的類名,實(shí)現(xiàn)組件(報(bào)名+類名)
代碼如下:
Intent intent1 = new Intent();ComponentName componentName = new ComponentName(MainActivity.this,"com.example.myapplication.SecondActivity");intent1.setComponent(componentName);startActivity(intent1);
第三個(gè):從上下文和類名創(chuàng)建一個(gè)新的組件標(biāo)識(shí)符
參數(shù)pkg:pkg 實(shí)現(xiàn)組件的包的上下文,從中檢索實(shí)際包名稱
參數(shù)cls: <var>pkg</var> 里面的類名實(shí)現(xiàn)組件
實(shí)現(xiàn)代碼:
Intent intent1 = new Intent();ComponentName componentName = new ComponentName(MainActivity.this,SecondActivity.class);intent1.setComponent(componentName);startActivity(intent1);
?? ??
??
?? ?
??
總結(jié)
以上是生活随笔為你收集整理的Android Intent的 Component 使用的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: HarmonyOS ListContai
- 下一篇: 999多少钱一克啊?