Android 调用系统相机拍照,生命周期重走OnCreate,导致无数据的解决办法
extends:http://blog.csdn.net/b275518834/article/details/42347903
BUG具体体现为 :
(1) 摄像头拍照后图片数据不一定能返回 ; onActivityResult的data为空
(2) 三星的camera强制切换到横屏 导致Activity重启生命周期 (但是部分机型 配置 android:configChanges 也不能阻止横竖屏切换);
String fileUrl ;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);//...//初始完控件后,得到自己保存的值if (savedInstanceState != null) {//这里可以更新UIfileUrl = savedInstanceState.getString("fileUrl");//得到文件地址 }}@Overrideprotected void onSaveInstanceState(Bundle outState) {super.onSaveInstanceState(outState);outState.putString("fileUrl", fileUrl);//保存文件路径//保存其他信息}
activity生命周期被重新调用了,发了好久找到原因了。
因为系统拍照是横屏
onActivityForResult以后会让activity的所有生命周期都重新调用。
所以要在AndroidManifest.xml里给调用拍照activity加上android:configChanges="orientation|keyboardHidden|screenSize"
重新打包以后完美解决问题
参考
http://blog.csdn.net/djcs053235/article/details/9422231
以下信息来至其他博客
android4.0 禁止横竖屏切换使用 android:configChanges="orientation|keyboardHidden"无效
android:configChanges="orientation|keyboardHidden|screenSize"
在之前的版本中都是在Manifest文件中设置Activity的 android:configChanges="orientation|keyboardHidden",但是在android4.0中无效,最后发现是需要加其他一个属性:"screenSize"
改成这样就可以了 : android:configChanges="orientation|keyboardHidden|screenSize"
转载于:https://www.cnblogs.com/niray/p/4730036.html
Android 调用系统相机拍照,生命周期重走OnCreate,导致无数据的解决办法相关推荐
- Android调用系统相机拍照并保存到指定位置
Android调用系统相机拍照并保存到指定位置 @Click(R.id.btn_takePhoto)void onclick() {Intent intent = new Intent(MediaSt ...
- android固定位置拍照,Android调用系统相机拍照并保存到指定位置
Android调用系统相机拍照并保存到指定位置 @Click(R.id.btn_takePhoto) void onclick() { Intent intent = new Intent(Media ...
- android 调用系统相机拍照 获取原图
博客源址:android 调用系统相机拍照 获取原图 博客时间:2013-04-23 11:08 好吧,为了这个问题又折腾了一整天.之前在网上找来的方法,如果在onActivityResult中直接用 ...
- android异常相机处理,android 调用系统相机拍照的各种异常处理
1 本文只讨论调用系统相机出现的异常解决办法下面是调用系统相机的代码 先看一下最简单的写法 Intent intent = new Intent(android.provider.MediaStore ...
- Android调用系统相机拍照
参考: Taking Photos Simply FileProvider 项目地址(好多人找我要,我传到百度云啦,大家自取):链接:https://pan.baidu.com/s/1nWsoE0eS ...
- android相机保存文件为空,android 调用系统相机拍照,返回的data为null
最近做项目,需要拍照功能,于是就想简单的调用系统相机来完成这一需求(当然,如果想要个性化一点的,也可以自定义camera去实现,这里暂时不做). if(Environment.getExternalS ...
- Android 调用系统相机拍照和录制视频,保存照片和视频
1.申请权限 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> ...
- android 调用系统相机拍照并返回路径,Android调用相机拍照并返回路径和…
调用系统图库: Intent intent = new Intent(Intent.ACTION_PICK,MediaStore.Images.Media.EXTERNAL_CONTENT_URI); ...
- Android调用系统相机拍照像素太低以及内存溢出问题
在Android移动开发过程中,如果直接按照原生方式进行拍照经常会出现像素太低(可能只有几十KB),照片非常模糊的问题. Activity中启动相机的代码: Intent openCameraInte ...
最新文章
- 归并排序是稳定的排序
- iOS沙盒路径及路径下数据的存储和读取
- 看看HashSet源码
- 并发队列-无界非阻塞队列 ConcurrentLinkedQueue 原理探究
- 应用编排与管理:核心原理
- SQL2000里的数据类型
- Opencv EmguCv 基本识别步骤
- 设计模式1——设计模式的原则
- java获取每月最后一天_java获取每月的最后一天实现方法
- 用Nginx搭建IIS集群实现负载均衡
- R语言 数据整理(reshape2)
- 怎么用谷歌学术检索下载外文文献
- JAVA笔试面试题集锦05
- Python3.7安装Geenlet
- word中图片变为灰度图像 黑白图像 黑白图片
- LUT查找表实现多路复选器原理精讲
- 服务器入门/tomcat以及如何部署
- ppt全屏播放卡死退出
- 归纳偏置 (Inductive Bias)
- 智源社区周刊:Yann LeCun撰文预测自主智能发展;NYU学者认为通用人工智能的讨论没有意义...