1. 一个Intent(可以理解是一个请求)对象包含了一组信息:
(1)component name(请求的组件的名称,指定我要启动哪个activity)
(2)action(指定启动了这个activity我要做什么)
(3)data(从一个activity向另外一个activity传送怎样的数据)
(4)extras(额外的信息,这些信息都是键值对)
(5)category
(6)flags
2. Intent的基本使用方法(从一个activity跳转到另外一个activity)
Intent intent = new Intent();
Intent.setClass(Activity01.this, Activity02.class);
startActivity(intent);
第一个activity:
public class OtherActivity extends Activity {
Button myButton;
TextView myTextView;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.other);
myButton=(Button)findViewById(R.id.myButton);
myButton.setOnClickListener(new MyButtonListener());
myTextView=(TextView)findViewById(R.id.myTextView);
}
class MyButtonListener implements OnClickListener{
public void onClick(View v)
{
//生成一个intent对象
Intent intent=new Intent();
intent.putExtra("testIntent", "123"); //进行传值
//第一个是当前的activity,第二个参数指的是请求的对象
intent.setClass(OtherActivity.this,TestActivity.class);
OtherActivity.this.startActivity(intent);
}
}
}
第二个activity:
public class TestActivity extends Activity {
TextView myTextView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//1.显示界面与布局文件关联
setContentView(R.layout.test2);
Intent intent=getIntent();
String value=intent.getStringExtra("testIntent");
myTextView=(TextView)findViewById(R.id.textView3);
myTextView.setText(value);
}
3. 使用intent进行发送信息
以上的其他程序不变,只修改如下部分。
class MyButtonListener implements OnClickListener{
@Override
public void onClick(View v){
Uri uri=Uri.parse("smsto://0800123");
Intent intent=new Intent(Intent.ACTION_SENDTO,uri);
intent.putExtra("sms_body","The SMS text");
startActivity(intent);
}
}