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> -->