我想使用相机设置我的个人资料图片,但有时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}}
谢谢。
答案 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();
}