一个Android程序通常有多个组件构成。如果要从一个Activity切换到另一个,必须用Intent来激活。实际上,Activity,Service和Broadcast Receiver这三种核心组件都需要使用Intent来激活。
在Intent对象中应该包含如下信息:
Intent使用实例:
A 无参数Activity跳转
Intent intent = new Intent(MainActivity.this,DetailActivity.class);
startActivity(intent);
B 向下一个Activity传递数据
方法一:
MainActivity: Intent intent = newIntent(MainActivity.this, RegisterActivity.class);
Bundlebundle = new Bundle();
bundle.putCharSequence("user",user);
intent.putExtras(bundle);
startActivity(intent);
RegisterActivity: Intent intent = getIntent();
Bundle bundle = intent.getExtras();
TextViewuser = (TextView)findViewById(R.id.user);
user.setText("用户名:"+bundle.getString("user"));
方法二:
MainActivity: Intent intent = newIntent();
Intent.setAction(Intent.ACTION_VIEW);
startActivity(intent);
RegisterActivity: 就一个自然生成的布局文件。
AndroidManifest.xml在传递过去的SecondActivity中要说明
<actionandroid:name=”android:intent:action.VIEW”/>
C 回调函数
MainActivity:
final int CODE = 0x717;
startActivityForResult(intent,CODE);
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// TODOAuto-generated method stub
super.onActivityResult(requestCode,resultCode, data);
if(requestCode == CODE && resultCode == CODE ){
}
}
RegisterActivity:
Button bn =(Button)findViewById(R.id.back);
bn.setOnClickListener(newOnClickListener(){
@Override
public voidonClick(View v) {
// TODOAuto-generated method stub
setResult(0x717,intent);
finish();
}
});
参考:
http://www.cnblogs.com/mengdd/archive/2013/03/18/2965839.html