拍照的代码网上都有就不写了!自己找下就ok了!
1 旋转屏幕导致问题!

这种情况很好解决:在androidManifest.xml 中设置activity 添加属性 
 android:configChanges="orientation|keyboardHidden|screenSize"
android:screenOrientation="portrait" ,  screenSize 高版本,在三星II 上面进行验证!
navigation 表示导航发生改变, 最好添加上去!
还有 在对应的类中重载 
public void onConfigurationChanged(Configuration newConfig)
{
super.onConfigurationChanged(newConfig);
}

2 系统回收导致的问题!
这种情况比较难处理,有的手机拍照会通知系统内存吃紧,系统可能会把当前的activity销毁!根据activity生命周期就可以看出!处理起来比较麻烦!还是有解决方法的!
android 拍照 onCreate() 调用两次的问题_后台进程
1.重新protected void onRestoreInstanceState(Bundle savedInstanceState),
protected void onSaveInstanceState(Bundle outState)两个方法
2,在 onSaveInstanceState 保存数据,
    在onRestoreInstanceState 获取保存的数据

onRestoreInstanceState 只会在系统销毁当前视图,程序再次返回时候调用
这个就可以判定出当前的视图是否系统给销毁, onSaveInstanceState 并不是同时出现的!onRestoreInstanceState  可以这个解释: 系统把你的activity 给销毁,但是你的activity 只是转为后台进程,当你在其他界面处理完成之后,在返回时候就会调用这个方法!