接着归纳Android from 《第一行代码》

说说返回数据给上一个activity。

startActivityForResult() 方法接收两个参数,第一个参数还是 Intent,第二个参数是请求码接着归纳Android from 《第一行代码》_第1张图片

startActivityForResult()方法接收两个参数,第一个参数还是 Intent,第二个参数是请求码,用于在之后的回调中判断数据的来源
eg: startActivityForResult(intent,1);

setResult()方法接收两个 参数,第一个参数用于向上一个活动返回处理结果,一般只使用 RESULT_OK 或 RESULT_CANCELED这两个值,第二个参数则是把带有数据的 Intent传递回去,然后调用 了 finish()方法来销毁当前活动。 


onActivityResult()方法带有三个参数,第一个参数 requestCode,即我们在启动活动时传 入的请求码。第二个参数 resultCode,即我们在返回数据时传入的处理结果。第三个参数 data, 即携带着返回数据的 Intent。 由于在一个活动中有可能调用startActivityForResult()方法去启动很多不同的活动,每一个活动返回的数据都会回调到 onActivityResult()这个方法中,因此 我们首先要做的就是通过检查 requestCode 的值来判断数据来源。


检测用户是否按下返回键 ,调用 onBackPressed() 函数
@Override 
public void onBackPressed() { 
Intent intent = new Intent(); 
setResult(RESULT_OK, intent); 
inish(); 

这样就可以完成传递给返回activity的数据。 eg: 比如上传图片时,返回数据就是一张bitmap 。

你可能感兴趣的:(android)