//显式Intent来启动活动 Intent intent = new Intent(MainActivity.this, myActivity.class); startActivity(intent);
//隐式Intent来启动活动 Intent intent = new Intent("com.example.activitytest.ACTION_START"); intent.addCategory("com.example.activitytest.MY_CATEGORY"); startActivity(intent);
//隐式方式打开网页 Intent intent = new Intent(Intent.ACTION_VIEW); intent.setData(Uri.parse("https://www.baidu.com")); startActivity(intent);
//调用系统拨号界面,android内置动作ACTION_DIAL。 Intent intent = new Intent(Intent.ACTION_DIAL); intent.setData(Uri.parse("tel:10086")); startActivity(intent);
//通过putExtra()方法传递字符串 String data = "Hello SecondActivity"; Intent intent = new Intent(MainActivity.this, myActivity.class); intent.putExtra("extra_data", data); startActivity(intent); //接收字符串 Intent intents = getIntent(); String data = intents.getStringExtra("extra_data"); Log.d("myActivity", data);
返回数据给上一个活动,调用startActivityForResult()方法。
//首页创建一个intent Intent intent = new Intent(MainActivity.this, myActivity.class); startActivityForResult(intent, 1);
//跳转页创建按钮,创建intent用于传递数据。 Button buttonback = (Button)findViewById(R.id.button_2); buttonback.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent();//intent只是传递数据,没有指定的意图。 intent.putExtra("data_return", "return data"); setResult(RESULT_OK, intent);//向上一级活动传递数据。 finish(); } });
//首页重写onActivityResult()方法,接收返回的数据。 @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { switch (requestCode){ case 1: if (resultCode == RESULT_OK){ String returnedData = data.getStringExtra("data_return"); Log.d("MainActivity", returnedData); } break; default: } }
//可以在跳转页中重写返回按钮方法,返回数据。 @Override public void onBackPressed() { Intent intent = new Intent(); intent.putExtra("data_return", "return data"); setResult(RESULT_OK, intent); finish(); }