相机意图在实际设备中不起作用

时间:2014-03-02 14:29:24

标签: android android-fragments camera

我有一个主要活动打开片段A,然后我打开一个菜单并打开片段B代替:

fragmentManager.beginTransaction().replace(R.id.content_frame, fragment,String.valueOf(position)).addToBackStack(null).commit();

片段B正在使用带有以下内容的相机:

Intent intent = new Intent("android.media.action.IMAGE_CAPTURE");
Random r = new Random();
mCurrentPhotoPath = Environment.getExternalStorageDirectory() + File.separator + r.nextInt(10000) + "image.jpg";
File file = new File(mCurrentPhotoPath);                            
intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(file));
startActivityForResult(intent, 1);                      
onActivityResult:

File file = new File(mCurrentPhotoPath);            
ivPhoto.setImageBitmap(BitmapFactory.decodeFile(file.getAbsolutePath()));

虽然在模拟器上它完美运行,但在真实设备上运行应用程序(三星galaxy s3,android 4.3)时,会发生两件奇怪的事情:

1)如果我拍照,该应用程序关闭,“不幸的......”弹出窗口出现没有明显的原因,我甚至不知道从哪里开始研究这个问题。

2)如果我点击“后退”按钮而不拍照,它会返回主活动/片段A!如果那时我再次调用片段B,图像(片段B)出现,但“背景”是透明的,我通过它看到片段A的遗骸。

setRetainInstance(真);为所有片段设置。我错过了什么? 感谢

0 个答案:

没有答案