关于intent,简单的小分析
2016-08-06 22:19
225 查看
关于Intent
隐式跳转需要在清单文件中为该activity设置intentfilter,需要编辑的是<action>和<category>;这两者都是非常重要的。<action>表示,活动响应的动作,<category>包含一些附加信息,一个Intent只能指定一个 action,但是能指定多个category。
晓介绍:intent.setData(Uri.parse(“http://www.csdn.com”));setData方法接收一个uri对象用于指定当前intent正在操作的数据!
对于向下传递数据
例如:
发送方:
Intent intent = new Intent(xxx.this,yyy.class);
Intent.putExtra(“extra_data”,”孙子兵法”);
startActivity(intent);
接收方:
Intent intent = getIntent();
String str = intent.getStringExtra(“extra_data”);//得到数据
浅析:putExtra 接收两个参数,第一个是键,用于后面从Intent中取值,第二个才是传递的数据
返回数据给上一层:
接收方:
Intent intent = new Intent(xxx.this,yyy.class);
startAcityForResult(intent,requestCode);
另外重写onActivityResult方法
@Override
protected
void onActivityResult(int
requestCode, int
resultCode, Intent
data) {
// TODO Auto-generatedmethod stub
super.onActivityResult(requestCode,
resultCode, data);
if (requestCode==2&&resultCode==1) {
String returnData =
data.getStringExtra("other");
Log.i("wei",
returnData);
tv.setText(returnData);
}
}
data 是携带返回数据的 Intent
发送方:
Intentintent =
new
Intent();
intent.putExtra("other",
data);
setResult(1, intent);
finish();
如果是发送方,点击了back键,这个时候完成数据返回的逻辑是 重写 onBackpressed方法:
@Override
public
void onBackPressed() {
// TODO Auto-generatedmethod stub
Intent intent =
new Intent();
intent.putExtra("other",
data);
setResult(1, intent);
finish();
}
隐式跳转需要在清单文件中为该activity设置intentfilter,需要编辑的是<action>和<category>;这两者都是非常重要的。<action>表示,活动响应的动作,<category>包含一些附加信息,一个Intent只能指定一个 action,但是能指定多个category。
晓介绍:intent.setData(Uri.parse(“http://www.csdn.com”));setData方法接收一个uri对象用于指定当前intent正在操作的数据!
对于向下传递数据
例如:
发送方:
Intent intent = new Intent(xxx.this,yyy.class);
Intent.putExtra(“extra_data”,”孙子兵法”);
startActivity(intent);
接收方:
Intent intent = getIntent();
String str = intent.getStringExtra(“extra_data”);//得到数据
浅析:putExtra 接收两个参数,第一个是键,用于后面从Intent中取值,第二个才是传递的数据
返回数据给上一层:
接收方:
Intent intent = new Intent(xxx.this,yyy.class);
startAcityForResult(intent,requestCode);
另外重写onActivityResult方法
@Override
protected
void onActivityResult(int
requestCode, int
resultCode, Intent
data) {
// TODO Auto-generatedmethod stub
super.onActivityResult(requestCode,
resultCode, data);
if (requestCode==2&&resultCode==1) {
String returnData =
data.getStringExtra("other");
Log.i("wei",
returnData);
tv.setText(returnData);
}
}
data 是携带返回数据的 Intent
发送方:
Intentintent =
new
Intent();
intent.putExtra("other",
data);
setResult(1, intent);
finish();
如果是发送方,点击了back键,这个时候完成数据返回的逻辑是 重写 onBackpressed方法:
@Override
public
void onBackPressed() {
// TODO Auto-generatedmethod stub
Intent intent =
new Intent();
intent.putExtra("other",
data);
setResult(1, intent);
finish();
}
相关文章推荐
- 关于ani 0day的简单分析
- 关于成本核算方法、步骤、成本分析的简单回复
- 关于某社交app的安全分析,简单介绍下app防止反编译的方法
- 关于HuffmanCoding的简单分析
- 关于NHibernate中存在于Session中实例的3种状态的简单分析
- 关于ms06-012的简单分析
- 关于成本核算方法、步骤、成本分析的简单回复
- 关于hadoop各个部分的简单分析
- 关于C++中的const的简单反汇编分析
- SQL SERVER中关于exists 和 in的简单分析
- 关于 函数调用 参数不匹配的简单分析
- 关于递归的简单分析
- 最近写的一个关于金山卫士主界面的简单分析
- 关于巴什博弈的简单介绍分析
- 关于一款远控木马的简单分析
- 关于注册的一些简单流程分析图
- 关于VC中弹出的不能为read的一个简单分析
- 关于S5PV210的启动问题和u-boot分析并自己实现一个简单的boot(一)
- 关于数字证书理解的简单整理以及12306网站证书简单分析
- SQL SERVER中关于exists 和 in的简单分析