Android笔记:Intent的Component使用

使用components有两种方式:

	ComponentName com = new ComponentName(MainActivity.this,MyActivity.class);//first 
				
	ComponentName com = new ComponentName("com.example.testcomponent","com.example.testcomponent.MyActivity");//second


第二种方式的第二个参数必须写全包名,不然会报错的。

一样的,主Activity中:

        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中就可以获取到源目标,知道是从哪儿传递过来的:

		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








你可能感兴趣的:(android,intent,component)