请教 Android照相返回结果处理 当照第二次的时候 之前的数据会被清空
请问 Android照相返回结果处理 当照第二次的时候 之前的数据会被清空
/**
* 相机按钮点击
*
* @param view
*/
public void cameraBtnClicked(View view) {
try {
Log.d("path","size:"+ImageManager.getManager().getSize());//这个地方是正常的list中的数据未被清空
Intent i = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(i, Activity.DEFAULT_KEYS_DIALER);
} catch (Exception e) {
}
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
String filename;
try {
if (resultCode == Activity.RESULT_OK && requestCode == Activity.DEFAULT_KEYS_DIALER) {
Log.d("path","size0:"+ImageManager.getManager().getSize());//这个地方也是第二次就为0了
Bundle bundle = data.getExtras();
Bitmap bmp = (Bitmap) bundle.get(AreaPatrolConstant.Key.KEY_DATA);
filename = saveImage(bmp);
Intent intent = new Intent(this, Class.forName(path));
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
packageResult(filename);
startActivity(intent);
}
} catch (Exception err) {
err.printStackTrace();
finish();
}
}
/**
* 封装数据
*
* @param filePath
*/
public void packageResult(String filePath) {
Log.d("path","size2:"+ImageManager.getManager().getSize());
Image image = new Image();
image.setImagePath(filePath);
ImageManager.getManager().add(image);
}
public class ImageManager {
private static final ImageManager manager = new ImageManager();
private ImageManager(){}
public static ImageManager getManager(){
return manager;
}
private List<Image> images = new ArrayList<Image>();
private List<Image> list = new ArrayList<Image>();
public void add(Image image) {
if (image != null) {
Log.d("path","Size:"+images.size()); //这个地方第二次的时候 size就为0了
images.add(image);
}
}
public void addAll(List<Image> list) {
if (list != null) {
images.addAll(images.size(), list);
}
}
public int getSize() {
if (images != null) {
return images.size();
/**
* 相机按钮点击
*
* @param view
*/
public void cameraBtnClicked(View view) {
try {
Log.d("path","size:"+ImageManager.getManager().getSize());//这个地方是正常的list中的数据未被清空
Intent i = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(i, Activity.DEFAULT_KEYS_DIALER);
} catch (Exception e) {
}
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
String filename;
try {
if (resultCode == Activity.RESULT_OK && requestCode == Activity.DEFAULT_KEYS_DIALER) {
Log.d("path","size0:"+ImageManager.getManager().getSize());//这个地方也是第二次就为0了
Bundle bundle = data.getExtras();
Bitmap bmp = (Bitmap) bundle.get(AreaPatrolConstant.Key.KEY_DATA);
filename = saveImage(bmp);
Intent intent = new Intent(this, Class.forName(path));
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
packageResult(filename);
startActivity(intent);
}
} catch (Exception err) {
err.printStackTrace();
finish();
}
}
/**
* 封装数据
*
* @param filePath
*/
public void packageResult(String filePath) {
Log.d("path","size2:"+ImageManager.getManager().getSize());
Image image = new Image();
image.setImagePath(filePath);
ImageManager.getManager().add(image);
}
public class ImageManager {
private static final ImageManager manager = new ImageManager();
private ImageManager(){}
public static ImageManager getManager(){
return manager;
}
private List<Image> images = new ArrayList<Image>();
private List<Image> list = new ArrayList<Image>();
public void add(Image image) {
if (image != null) {
Log.d("path","Size:"+images.size()); //这个地方第二次的时候 size就为0了
images.add(image);
}
}
public void addAll(List<Image> list) {
if (list != null) {
images.addAll(images.size(), list);
}
}
public int getSize() {
if (images != null) {
return images.size();