我有两个文本字段和一个用于捕获图像的按钮,点击相机按钮它将捕获图像但在文本字段中输入的文本将被刷新, 我有一个方法可以清除文本和图像(来自SD卡)。我在onCreate方法中调用了这个方法。我不想清除那些文本字段到捕获图像,如何处理它?</ p>
以下是我捕获图片的代码:
btnCapture.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
try {
Intent captureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
captureIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivityForResult(captureIntent, CAMERA_CAPTURE);
} catch (ActivityNotFoundException anfe) {
String errorMessage = "Device doesn't support capturing images!";
}
}
});
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (resultCode == RESULT_OK) {
// user is returning from capturing an image using the camera
if (requestCode == CAMERA_CAPTURE) {
Bundle extras = data.getExtras();
Bitmap thePic = extras.getParcelable("data");
DateFormat dateFormat = new SimpleDateFormat("HH-mm-ss");
Date date = new Date();
String imgcurTime = dateFormat.format(date);
File imageDirectory = new File(ImagePath);
if (!imageDirectory.exists()) {
imageDirectory.mkdirs();
}
String _path = ImagePath + imgcurTime + ".jpg";
try {
FileOutputStream out = new FileOutputStream(_path);
thePic.compress(Bitmap.CompressFormat.JPEG, 100, out);
out.close();
out.flush();
} catch (FileNotFoundException e) {
e.getMessage();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
答案 0 :(得分:0)
在内存不足的情况下,android会杀死后台活动。在相机活动开始的情况下,启动相机的后台活动可能正在破坏。当你从相机回来时它会重新创建。因此,在onSavedInstance()方法中保存与它们相同的编辑文本数据,并在onRetoreInstance()方法中重新分配它们。
我希望这可行。