我注意到我的设备非常奇怪的行为。Samsung Galaxy Tab 2 10.1在照相机意图拍摄照片后杀死处理
我创建行动MediaStore.ACTION_IMAGE_CAPTURE
一个新的intent然后我开始为结果的activty。但目前我从相机拍摄照片,我的应用程序从DDMS视角的流程中消失。然后在几秒钟内它再次运行。
有趣的是 - onActivityResult
被正确调用并接收图像。但是我有一些在他们的领域中包含一些价值的单身人士。过程重新启动后,这些单例将被重新初始化并丢失所有值。
其他设备没有问题 - 无论是平板电脑还是手机。
这是一个已知的错误吗?何以防止Galaxy Tab 2 10.1上的进程重启?
在此先感谢!
更新:下面是我的代码启动相机意图
private void startCameraIntent() {
String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss", Locale.US).format(new Date());
String imageFileName = JPEG_FILE_PREFIX + timeStamp + "_";
File albumFile;
if (Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState())){
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.FROYO){
albumFile = new File (Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES), FOLDER_NAME);
} else {
albumFile = new File(Environment.getExternalStorageDirectory()+CAMERA_DIR+FOLDER_NAME);
}
if (albumFile != null){
if (!albumFile.mkdirs()){
if (!albumFile.exists()){
showToast(getApplicationContext().getString(R.string.sFailedToCreateDirectory));
return;
}
}
}
File imageFile = null;
try {
imageFile = File.createTempFile(imageFileName, JPEG_FILE_SUFFIX, albumFile);
mCurrentPhotoPath = imageFile.getAbsolutePath();
} catch (IOException e) {
e.printStackTrace();
}
Intent cameraIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
cameraIntent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(imageFile));
fileUri = Uri.parse(mCurrentPhotoPath);
startActivityForResult(cameraIntent, ACTION_CAPTURE_IMAGE);
} else {
showToast(getApplicationContext().getString(R.string.sSDNotReady));
}
}
向我们显示您的代码。 –
您是否在“设置”应用程序的开发人员选项中启用了“不要保留活动”? – fifarunnerr
可能相机应用程序需要大量内存,系统正在查杀其他应用程序。 – marcinj