以下內(nèi)容整理自互聯(lián)網(wǎng)兼蕊,僅用于個人學習
1. Intent可傳遞如下幾種類型數(shù)據(jù)
- 八大基本類型及其對應的數(shù)組劫笙,CharSequence(String)及其數(shù)組
- 傳遞一個Bundle
- 傳遞Serializable對象
- Parcelable及其對應數(shù)組
- Intent
- ArrayList,泛型參數(shù)類型為:<Integer>况芒、<? Extends Parcelable>符隙、<Charsequence>舅巷、<String>
2. 使用Intent啟動Activity的幾種方式
2.1 直接通過class對象
Intent intent = new Intent(this, SecondActivity.class);
startActivity(intent);
2.2 通過包名+類名
Intent intent = new Intent();
//第一個參數(shù)是包名稱面氓,第二個參數(shù)是要啟動的類的全限定名稱
intent.setClassName("com.ljr.example.test", "com.ljr.example.test.SecondActivity");
startActivity(intent);
2.3 通過包Context+類名
Intent intent = new Intent();
//第一個參數(shù)是包Context兵钮,可以直接傳入Activity即可蛆橡,第二個參數(shù)是要啟動的類的全限定名稱
intent.setClassName(this, "com.ljr.example.test.SecondActivity");
startActivity(intent);
2.4 通過ComponentName
Intent intent = new Intent();
//第一個參數(shù)是包名稱,第二個參數(shù)是要啟動的類的全限定名稱
ComponentName cn = new ComponentName("com.ljr.example.test", "com.ljr.example.test.SecondActivity");
intent.setComponent(cn);
startActivity(intent);
2.5 通過隱式方式
Intent intent = new Intent();
intent.addCategory(Intent.CATEGORY_DEFAULT);
intent.addCategory("com.ljr.example.second");
intent.setAction("com.ljr.example.action");
startActivity(intent);