1.显式意图
可以直接通过名称开启指定的目标组件:
通过构造方法Intent(Context packageContext,class<?>cls)来实现。
button_1 = (Button) findViewById(R.id.button_1);
button_1.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View view) {
// finish();
//显示意图
Intent intent = new Intent(MainActivity.this,SecondActivity.class);
startActivity(intent);
}
});
}
2.隐式意图
比较抽象,它并没有明确的指定要开启哪个目标组件,而是通过指定action和category等属性信息,系统根据这些信息进行分析,然后寻找目标Activity
添加一个category,需要在注册文件中加一行代码
@Override
public void onClick(View view) {
//隐式意图
Intent intent = new Intent("com.example.activitytest.ACTION_START");
//添加一个category,需要在注册文件中加一行代码
// <category android:name="com.example.activitytest.MY_CAT EGORY"/>
startActivity(intent);
intent.addCategory("com.example.activitytest.MY_CATEGORY");
}
});
}
//隐式意图更多用法
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse("http://www.baidu.com"));
startActivity(intent);
Android中显式意图和隐式意图的区别