Android相机意图杀死了我的活动

时间:2013-05-11 14:23:13

标签: android android-intent android-camera android-camera-intent

我想使用相机设置我的个人资料图片,但有时Activity startActivityForResult ACTION_IMAGE_CAPTURE i = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE); i.putExtra(android.provider.MediaStore.EXTRA_OUTPUT, Uri.fromFile(new File(getExternalFilesDir(null).getPath() + "/profile.png"))); startActivityForResult(i, which);

相机成功运行,我可以拍照。

但是当我拍照后按下保存按钮时,有时我的活动会重新启动。

我该如何解决这个问题?请帮帮我!

这是我的代码:

{{1}}

谢谢。

2 个答案:

答案 0 :(得分:0)

您的活动被销毁和重新创建的原因可能是因为方向改变;您的应用以纵向方式运行,但相机处于横向状态。返回到您的活动时,它首先以横向方式返回,并以纵向(或沿着这些线的方式)重新创建。

您仍然应该收到startActivityForResult()的回复,因此只需处理onActivityResult()中的回复,将意图保存在onSaveInstanceState()中,然后在onCreate()中再次提取重新创建活动。

答案 1 :(得分:-2)

只需在onActivityResult中调用onResume()。因此,无论何时相机活动完成,您的活动都将恢复

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    // TODO Auto-generated method stub
    super.onActivityResult(requestCode, resultCode, data);
    bitmapImage = (Bitmap) data.getExtras().get("data");
    onResume();
  }
相关问题