一: 使用Intent进行Activity之间进行传输数据
1: 使用Intent进行Activity之间进行传输整形数据
代码: 其中一个activity:
Intent intent = new Intent();
//第一参数取的是这个应用程序的Context,生命周期是整个应用
//第二个参数是要跳转的页面的全路径
intent.setClassName( getApplicationContext(), "com.example.testofdialog.ReceiveActivity" );
//Bundle类用作携带数据,它类似于Map,用于存放key-value名值对形式的值
Bundle b = new Bundle();
b.putString("我是key", "这里就是你要传递的内容了");
//此处使用putExtras,接受方就响应的使用getExtra
intent.putExtras( b );
startActivity(intent);
另一个Activity:
//最后的参数一定要和发送方的相同,否则得到空值
String rString = getIntent().getExtras().getString("我是key");
2: 使用Intent进行Activity之间进行传输对象和数组,集合等数据
进行传输的数据只要是可进行序列化的对象,就可以进行下面方法的传输
代码: 其中一个activity:
Intent intent = new Intent();
List<String> dataList = new ArrayList<>(selectSet);
intent.putExtra(NotifyUtil.PARAM_2, (Serializable) dataList);
startActivity(intent);
另一个Activity:
tempDataList = (List<String>) intent.getSerializableExtra(NotifyUtil.PARAM_2);
进行传输的数据只要是可继承Parcelable类的对象,就可以进行下面方法的传输
代码: 其中一个activity:
Intent intent = new Intent();
Bundle bundle = new Bundle();
bundle.putString("action", businessShare.getAction());
bundle.putBoolean("share", true);
bundle.putParcelable("icon", bitmap);
intent.putExtra("bundle", bundle);
chatActivity.startActivity(intent);
另一个Activity:
Intent mIntent = this.getIntent();
Bundle bundle = mIntent.getBundleExtra("bundle");
String action = bundle.getString("action");
String params1 = bundle.getString("params1");
Bitmap bit = bundle.getParcelable("icon");
二: 使用Intent进行两个App之间进行传输数据
: 使用Intent进行两个App之间进行传输数据
代码: 其中App中的一个activity:
ComponentName componentName = new ComponentName(
"cn.example.main", //要去启动的App的包名
"cn.example.main.SelectActivity");
//要去启动的App中的Activity的类名
// ComponentName : 参数说明
//组件名称,第一个参数是包名,也是主配置文件Manifest里设置好的包名
//第二个是类名,要带上包名
Intent intent = new Intent();
Bundle bundle = new Bundle();
intent.setComponent(componentName);
bundle.putString("params3", businessShare.getParams3());
bundle.putString("params4", summary);
bundle.putParcelable("icon", bitmap);
intent.putExtra("bundle", bundle);
chatActivity.startActivity(intent);
另一个App中的Activity:
在对应的Activity的文件清单中设置这个属性,才能进行数据的接收
android:exported="true"
//接收的方法
Intent mIntent = this.getIntent();
Bundle bundle = mIntent.getBundleExtra("bundle");
String action = bundle.getString("action");
String params1 = bundle.getString("params1");
Bitmap bit = bundle.getParcelable("icon");
2: 使用Intent进行两个App之间进行传输对象和数组,集合等数据
//跟上面的方法相同