Android顯式和隱式Intent的區別和方式


intent總共分顯示intent和隱式intent

一、顯式ntent

顯式的意思是指可以直接指定需要打開的Activity對應的Java的類,參考csdn

1.構造方法里直接傳入Component,最常見
Intent intent = new Intent(this, SecondActivity.class);
startActivity(intent);
2、setComponent方法
ComponentName componentName = new ComponentName(this, SecondActivity.class);
// 或者ComponentName componentName = new ComponentName(this, "com.example.app016.SecondActivity");
// 或者ComponentName componentName = new ComponentName(this.getPackageName(), "com.example.app016.SecondActivity");
 
Intent intent = new Intent();
intent.setComponent(componentName);
startActivity(intent);
3.setClass/setClassName方法
Intent intent = new Intent();
 
intent.setClass(this, SecondActivity.class);
// 或者intent.setClassName(this, "com.example.app016.SecondActivity");
// 或者intent.setClassName(this.getPackageName(), "com.example.app016.SecondActivity");
		
startActivity(intent);

總結

顯式Intent通過Component可以直接設置需要調用的Activity類,可以唯一確定一個Activity,意圖明確,所以被稱為顯式。設置這個類的方式可以是
Class對象,也可以是包名加類名的字符串。

二、隱式

隱式,即不是想顯式的那樣直接指定需要調用的Activity類,隱式不明確指定啟動那個Activity,而是設置Action、Data、Category,讓系統來篩選出合適的Activity。篩選是根據所有的 來篩選。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM