父Activity:MainActivity.java
package com.example.test61;
import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
public class MainActivity extends Activity {
Button button,button2;
TextView textView;
private final int SUBACTIVITY1 = 1 , SUBACTIVITY2 = 2; //requestCode请求码
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button = (Button)findViewById(R.id.btn);
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
Intent intent = new Intent(MainActivity.this, NewActivity.class);
//startActivity(intent);
startActivityForResult(intent, SUBACTIVITY1); //启动子Activity
}
});
button2 = (Button)findViewById(R.id.btn2);
button2.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
Intent intent = new Intent(Intent.ACTION_VIEW,Uri.parse("http://www.baidu.com"));
//startActivity(intent);
startActivityForResult(intent, SUBACTIVITY2);
}
});
}
//重载方法,接受返回值
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
switch (requestCode) {
case SUBACTIVITY1:
if(resultCode==Activity.RESULT_OK){
Uri uriData = data.getData();
textView = (TextView)findViewById(R.id.tv);
textView.setText(uriData.toString());
}else if(requestCode==Activity.RESULT_CANCELED){}
break;
case SUBACTIVITY2:
if(resultCode==Activity.RESULT_OK){
Uri uriData = data.getData();
}
break;
default:
break;
}
}
}
xml布局:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/tv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=""
/>
<Button
android:id="@+id/btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="启动Activity" />
<Button
android:id="@+id/btn2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="启动Activity2" />
</LinearLayout>
子Activity:NewActivity.java
package com.example.test61;
import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
public class NewActivity extends Activity {
EditText dEditText;
Button button1,button2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_new);
dEditText = (EditText)findViewById(R.id.edit);
button1 = (Button)findViewById(R.id.btn1);
button2 = (Button)findViewById(R.id.btn2);
button1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
Uri data = Uri.parse("tel:15082387826");
Intent intent = new Intent(null,data);
intent.putExtra("address", "JD Street"); //添加额外的值
setResult(RESULT_OK,intent); //返回子Activity的值
finish();
}
});
button2.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
setResult(RESULT_CANCELED,null);
finish();
}
});
}
}
xml布局:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<EditText
android:id="@+id/edit"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=""
/>
<Button
android:id="@+id/btn1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="接受"
/>
<Button
android:id="@+id/btn2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="撤销"
/>
</LinearLayout>
另外一个子Activity类似,这里不再累赘。
点击启动Activity:
点击接受:
这里接受到返回值并输入