Android中Activity之间访问互传参数

public class MainActivity extends Activity {

	private static final int OTHER = 1;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
	}

	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		// Inflate the menu; this adds items to the action bar if it is present.
		getMenuInflater().inflate(R.menu.main, menu);
		return true;
	}

	public void goOtherActivity(View v) {

		// 显示意图的操作
		/*
		 * Intent intent = new Intent(this, OtherActivity.class);
		 * startActivity(intent);
		 */

		// 隐士意图的操作
		/*
		 * Intent intent = new Intent(); intent.setAction(Intent.ACTION_CALL);
		 * intent.setData(Uri.parse("tel:"+1235)); startActivity(intent);
		 */

		// 自定义的隐士意图操作
		/*
		 * Intent intent = new Intent();
		 * intent.setAction("www.csdn.net.hbsi");// 自定义的action
		 * intent.addCategory("android.intent.category.DEFAULT");
		 * 
		 * 
		 * intent.setDataAndType(Uri.parse("csdn://www.csdn.net/xx"),
		 * "image/jpeg"); // 执行意图 startActivity(intent);
		 */

		// 数据传递的实现
		/*
		 * Intent intent = new Intent(MainActivity.this, OtherActivity.class);
		 * 
		 * intent.putExtra("name", "shasha"); intent.putExtra("pass", "xxxx");
		 * 
		 * startActivity(intent);
		 */

		// 返回数据的获取的操作
		Intent intent = new Intent(MainActivity.this, OtherActivity.class);
		intent.putExtra("name", "shasha");
		intent.putExtra("pass", "xxxx");
		// 新打开的activity返回的数据
		startActivityForResult(intent, OTHER);

	}

	@Override
	protected void onActivityResult(int requestCode, int resultCode, Intent data) {
		super.onActivityResult(requestCode, resultCode, data);
		// 请求码
		switch (requestCode) {
		// other 这个请求 的处理
		case OTHER:
			// 根据请求返回值得结果码 再进行匹配
			switch (resultCode) {
			case RESULT_OK:
				Toast.makeText(this, "返回的数据" + data.getStringExtra("result"),
						Toast.LENGTH_LONG).show();
				break;

			default:
				break;
			}

			break;

		default:
			break;
		}
	}

}



public class OtherActivity extends Activity {

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_other);

		// 获取数据
		Bundle bundle = this.getIntent().getExtras();

		Intent intent = this.getIntent();

		// Toast.makeText(this,
		// "名称:"+bundle.get("name")+" 密码:"+bundle.get("pass"),
		// Toast.LENGTH_LONG).show();
		Toast.makeText(
				this,
				"名称:" + intent.getStringExtra("name") + " 密码:"
						+ intent.getStringExtra("pass"), Toast.LENGTH_LONG)
				.show();

	}

	@Override
	public boolean onCreateOptionsMenu(Menu menu) {

		getMenuInflater().inflate(R.menu.main, menu);
		return true;
	}

	public void backActivity(View v) {

		// 显示意图的操作
		// Intent intent = new Intent();
		// intent.setClass(this, MainActivity.class);

		/*
		 * intent.setClassName("com.example.lession12_activity",
		 * "com.example.lession12_activity.MainActivity");
		 */

		// intent.setComponent(new
		// ComponentName("com.example.lession12_activity",
		// "com.example.lession12_activity.MainActivity"));

		// startActivity(intent);

		Intent intent = new Intent();
		intent.putExtra("result", "CSDN");

		OtherActivity.this.setResult(RESULT_OK, intent);

		OtherActivity.this.finish();// 关闭activity

	}

}


AndroidManifest.xml中 

<!-- 意图过虑器 -->
           <!--  <intent-filter>
                <action android:name="www.csdn.net.hbsi"/>
                <data 
                    android:host="www.csdn.net"
                    android:mimeType="image/jpeg"
                    android:path="/xx"
                    android:scheme="csdn"/>
                <category android:name="android.intent.category.DEFAULT"/>
            </intent-filter>
            <intent-filter >
                <action android:name="android.intent.action.MAIN"/>
                <category android:name="android.intent.category.LAUNCHER"/>  
            </intent-filter> -->


原文地址:https://www.cnblogs.com/dyllove98/p/3146972.html