使用components有两种方式:java
ComponentName com = new ComponentName(MainActivity.this,MyActivity.class);//first ComponentName com = new ComponentName("com.example.testcomponent","com.example.testcomponent.MyActivity");//second
第二种方式的第二个参数必须写全包名,否则会报错的。ide
同样的,主Activity中:this
button.setOnClickListener(new Button.OnClickListener() { @Override public void onClick(View arg0) { // TODO Auto-generated method stub Intent intent = new Intent(); ComponentName com = new ComponentName("com.example.testcomponent", "com.example.testcomponent.MyActivity"); intent.setComponent(com); String s = "This is a Test."; intent.putExtra("id", s); startActivity(intent); } });
在目标Ativity中获取数据和上面是同样的,可是,在目标Activity中就能够获取到源目标,知道是从哪儿传递过来的:spa
text = (TextView)findViewById(R.id.text); Intent intent = getIntent(); String str = intent.getStringExtra("id"); ComponentName com = intent.getComponent(); String pkgName = com.getPackageName(); String className = com.getClassName(); text.setText(str + "\n" + pkgName + "\n" + className);
参考资料:http://blog.csdn.net/sunhengzhi_212/article/details/8274834.net