如果想在Activity中得到新打开Activity 关闭后返回的数据,需要使用系统提供的startActivityForResult(Intent intent, int requestCode)方法打开新的Activity,新的Activity 关闭后会向前面的Activity传回数据,为了得到传回的数据,必须在前面的Activity中重写onActivityResult(int requestCode, int resultCode, Intent data)方法。
值得传递采用如下代码:
localIntent = new Intent("android.media.action.IMAGE_CAPTURE");
//传递值到新的Activity
localIntent.putExtra("output", this.outputFileUri);
this.activity.startActivityForResult(localIntent, 3);
当新Activity运行完毕后,在老的Activity中获取值得方式为:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data)
{
// TODO Auto-generated method stub
super.onActivityResult(requestCode, resultCode, data);
String myOutPut=data.getStringExtra("output");
}
通过上述的方式就可以将值在两个Activity中进行传递,获取结果在onActivityResult中,有点类似于C#中的DialogResult性质进行传递。