Android理解:显式和隐式Intent
Intent是Android初学者比较难理解的一个东西。我这里以通俗易懂的语言和通俗易懂的代码,让初学者简单感受一下Intent。
intent就是意图的意思。Intent分两种:显式(Explicit intent)和隐式(Implicit intent)。
一、显式(设置Component)
显式,即直接指定需要打开的activity对应的类。
以下多种方式都是一样的,实际上都是设置Component直接指定Activity类的显式Intent,由MainActivity跳转到SecondActivity:
1、构造方法传入Component,最常用的方式
3、一个Activity可以处理多种Action
只要你的应用程序够牛逼,一个Activity可以看网页,打电话,发短信,发邮件。。。当然可以。
Intent的Action只要是其中之一,就可以打开这个Activity。
这也就是当Android手机装上UC浏览器后,打开网页时会弹出选择Android自带浏览器还是UC浏览器,可能都会遇到过。
3、一个Activity都没找到
一个都没找到的话,程序就会出错,会抛出ActivityNotFoundException。比如随便写一个action字符串:所以应该注意try catch异常。
Intent intent = new Intent(Intent.ACTION_DIAL);ComponentName componentName = intent.resolveActivity(getPackageManager());if(componentName != null){ String className = componentName.getClassName(); Toast.makeText(this, className, Toast.LENGTH_SHORT).show();}
作者:叉叉哥 转载请注明出处:http://blog.csdn.net/xiao__gui/article/details/11392987