一、直接跳转(可以实现对网页、拨号界面、发送邮件、短息界面的的直接跳转)
构造方法: Intent Intent = new Intent(String action,Uri uri);
- Intent Intent = new Intent();
- startActivity(intent);
二、带数据的跳转(由MainActivity界面向OtherActivity传递数据)
①MainActivity:
String data=”datas”;
Intent Intent = new Intent(MainActivity.this,OtherActivity.class);
intent.putExtra(“dataName”,data); //用putExtra来封装要传递的数据
startActivity(intent);
②OtherActivity:
Intent Intent = this.getIntent(); //获取父Activity传递给字Activity的Intent对象
String datas = intent.getStringExtra(“dataName”); //获取父Activity传递过来的数据
另一种写法:我喜欢直接用intent传递数据 , 不经过bundle来传递数据 . 其实这两种方式没有区别的 。
Bundle bundle = this.getIntent().getExtras();
String datas = bundle.getString(“dataName”);
三、带返回值的跳转(从A跳转到B可以携带或不携带数据,但由B跳转到A必须携带数据)
①由A至B可以由上面的步骤完成
启动页面跳转则用 startActivityForResult()方法
startActivityForResult(Intent Intent,int requestCode)
其中intent 决定要启动的Activity
requestCode 请求码
②由B跳转至A必须在A中重载onActivityResult()方法,来获取B中返回来的值
protected void onActivityResult(int requestCode, int resultCode,Intent data){
}
注:对于Activity之间的数据传递,他不仅能够传递简单的数据类型,来能传递非常复杂的数据类型;
Android五种数据传递方法汇总:https://blog.csdn.net/rely_on_yourself/article/details/81539986