//1,重写activityA中的onNewIntent 方法; 2,把此activityA设置为android:exported=”true” android:launchMode=”singleTask”
@Override
protected void onNewIntent(Intent intent) {
super.onNewIntent(intent);
int code = intent.getIntExtra("code", -1);
System.out.println("code:="+code);
if (code != 100) {
return;
}
imagePathList.remove(imagePathList.size() - 1);
ArrayList<String> paths = intent.getStringArrayListExtra("paths");
System.out.println("paths:="+paths.get(0));
//添加,去重
boolean hasUpdate = false;
for (String path : paths) {
if (!imagePathList.contains(path)) {
//最多9张
if (imagePathList.size() == 2) {
toast("最多可上传2张图片。");
break;
}
imagePathList.add(path);
hasUpdate = true;
}
}
imagePathList.add(path);
if (hasUpdate) {
adapter.notifyDataSetChanged();
}
}
3,在activityB的中操作后,在activityA中会得到ActivityB传过来的数据
if (from.equals("feedback")){
intent.setClass(activityA.this, activityB.class);
}
System.out.println("paths1:="+paths);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.putExtra("code", paths != null ? 100 : 101);
intent.putStringArrayListExtra("paths", paths);
startActivity(intent);