android中可以使用Intent时 可以用setClass() 还可以使用ComponentName

Java 代码

package com.huawei;import android.app.Activity;import android.content.ComponentName;import android.content.Intent;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;public class Test extends Activity {    /** Called when the activity is first created. */    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.main);        Button btn = (Button) findViewById(R.id.btn);        btn.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {//组件名称,第一个参数是包名,也是主配置文件Manifest里设置好的包名第二个是类名,要带上包名ComponentName com = new ComponentName("com.huawei", "com.huawei.Test1");Intent  intent = new Intent();//设置部件intent.setComponent(com);    Test.this.startActivity(intent);}});    }}


经查看源码发现 Intent 的setClass() 方法的实现正是使用ComponentName 类:

public Intent setClass(Context packageContext,Class<?> cls){   mComponent=new ComponentName(packageContext,cls);return this;}

Intent 的 构造方法也是如此:

public Intent(Context packageContext,Class<?> cls){      mComponent=new ComponentName(packageContext,cls);}

上面例子中的 setComponent()方法:

public Intent setComponent(ComponentName component){      mComponent =component;return this;}

以上可以看出无论那种方法调用的都是相似的代码;

参考:http://hellorheaven.iteye.com/blog/860193点击打开链接

更多相关文章

  1. Android(安卓)获取activity栈中activity
  2. Android之ViewFlipper的使用与ListView的分页加载
  3. 关于Android中的SQLite使用
  4. Android(安卓)Google地图那些事
  5. Android之百度地图开发,包含定位,覆盖物,经纬度位置转换,长按设置中
  6. Android创建快捷方式图标
  7. android发送QQ邮件(带附件)
  8. 浅谈Java中Collections.sort对List排序的两种方法
  9. Python list sort方法的具体使用

随机推荐

  1. Android安全机制介绍
  2. 杭州_大雲架構師_培訓課程
  3. Android(安卓)Tinker 接入指南
  4. 很赞的Android架构组件 Android Architec
  5. Android中触摸事件传递机制
  6. Android中系统触摸相关辅助类总结
  7. Android中OptionMenu使用
  8. rdp文件和vnc软件
  9. Android中的Button自定义点击效果之改变
  10. Android O 前期预研之二:HIDL相关介绍