android开发,Intent的使用

1.显式intent

Intent intent = new Intent(FirstActivity.this,SecondActivity.class);
//创建意图对象,参数为上下文和目标,两个参数,明确intent的指示方向,为显示
startActivity(intent);

2.隐式intent
隐式intent的使用,其构造方法只使用了一个参数,传递的是action的内容。而action则被定义在了AndroidManifest.xml的intent-filter中。

xml代码


"com.example.activitytest.ACTION_START"/>
"android.intent.category.DEFAULT"/>
"com.example.activitytest.MY_CATEGORY"/>


几点说明
a.action描述当前活动可以响应com.example.activitytest.ACTION_START这个活动
b.category描述附加信息,更精确的指明了当前的活动能够响应的intent还可能带有的category
c.只有同时匹配intent指定的action和category时,才能响应该intent
d.category默认为default,在没有专门提出的情况下,不用匹配category
e.可以声明多个category,如上.
f.必须action和category同时匹配才能正常使用跳转到的相应的activity


java代码

Intent intent = new Intent("com.example.activitytest.ACTION_START");
startActivity(intent);
或者
Intent intent = new Intent("com.example.activitytest.ACTION_START");
intent.addCategory("com.example.activitytest.MY_CATEGORY");
startActivity(intent);

我对隐式intent的理解
隐式intent不会直接说我要跳转去哪个activity,而是先表达一个意向,比如,我想去大概什么样的activity,大概一词是隐式与显示的核心区别。隐式intent说,我想要一个能够干嘛,干嘛的activity,而这时候,有这些干嘛,干嘛的activity中的intent-filter会与隐式intent进行匹配,这样一来,隐式的intent就可以去他想要的activity了。

你可能感兴趣的:(Android学习之路)