Intent查找组件策略,其中一种方法就是显示查找,即通过组件名称(Component name)来查找。
Intent的组件名称对象由CompontentName类来封装,组件名称包含包名称和类名称,被声明在AndroidManifest.xml文件中。
组件名称通过setComponent()、setClass()、setClassName()设置,通过getComponent()获得。
MainActivity.java主要代码:
//btn01的点击事件
btn01.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
//实例化组件名称
ComponentName cn = new ComponentName(MainActivity.this,
"com.example.intentdemo.MyActivity");
//实例化Intent
Intent intent = new Intent();
//为Intent设置组件名称属性
intent.setComponent(cn);
//启动activity
startActivity(intent);
}
});
MyAcivity.java主要代码:
tv = (TextView)findViewById(R.id.text01);
//获得Intent
Intent intent = this.getIntent();
//获得组件名称
ComponentName cn = intent.getComponent();
//获得包名称
String packagname = cn.getPackageName();
//获得类名称
String className = cn.getClassName();
//显示
tv.setText(packagname + "=====" + className);
效果图: