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