关于Android 4.4(华为)调用系统相机问题
发布日期:2021-10-04 02:53:21
浏览次数:5
分类:技术文章
本文共 1046 字,大约阅读时间需要 3 分钟。
最近使用测试机(华为,4.4系统)调用系统相机进行拍照时,点击拍照完成,手机又反回了拍照页面,此时应该setResult上一个页面,但是上一个页面的onActivityResult没有被调用,大概有些小米手机也会这样吧,记录下解决方法:
原先是在A页面的onCreate方法中启动了调用系统相机:
这时启动了系统相机界面B,拍照完成后setResult返回无法调用onActivityResult,还有一个Error,忘记是啥了,大概意思是说在这个界面onresume的时候出现的问题。
解决方案是:
把启动系统相机的代码放在A页面的onresume方法中即可解决:ps:千万别在oncreate方法中启动。
在三星系列手机上调用系统相机可能会拿不到返回值的相关问题:
调用系统相机:
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);mPicUri = "";intent.putExtra(MediaStore.EXTRA_OUTPUT, mPicUri);startActivityForResult(intent, requestCode);
结果拍照回来mPicUri这个没有值,但是本地是有图片的…这个问题主要是三星拍照返回后屏幕方向转换并重新创建了单前的Activity,导致在OnActivityResult中不能拿到值。
首先第一可以先试着给activity节点加上些常数,告诉手机这个页面重新创建的时候参数给我留着:android:configChanges="keyboardHidden|orientation|screenSize"android:screenOrientation="portrait"
…….
如果这个还不行,那么久采用跳转一个透明的activity方式来传递数据,也就是 CurrentActivity——>没有布局的Activity——>调用拍照三星没有布局的Activity作为一个中间层,可以在onSaveInstanceState方法中保存好值【outState.putString("tag",uri)
】,当被系统重新创建这个Activity时取出保存的数据【oncreate 中 savedInstanceState.getString("tag")
】,然后返回给CurrentActivity这个页面即可(这样有个好处,用户不会感觉到重新创建屏幕旋转)!
转载地址:https://blog.csdn.net/leifengpeng/article/details/52316282 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
路过,博主的博客真漂亮。。
[***.116.15.85]2024年04月24日 20时32分10秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
安装多个gcc
2019-04-27
Linux0.01内核根目录Makefile注释
2019-04-27
【CSDN2012年度博客之星】需要您的一票,感谢大家的支持
2019-04-27
PHP对于浮点型的数据需要用不同的方法去解决
2019-04-27
Tokyo Cabinet 安装
2019-04-27
Flink在美团的应用与实践听课笔记
2019-04-27
Java多线程的11种创建方式以及纠正网上流传很久的一个谬误
2019-04-27
JDK源码研究Jstack,JMap,threaddump,dumpheap的原理
2019-04-27
Java使用字节码和汇编语言同步分析volatile,synchronized的底层实现
2021-06-30
javac编译原理和javac命令行的使用
2021-06-30
Unity使用UnityWebRequest实现本地日志上传到web服务器
2021-06-30
Unity使用RenderTexture实现裁切3D模型
2021-06-30
美术和程序吵架,原来是资源序列化格式设置不统一
2021-06-30
Unity iOS接SDK,定制UnityAppController
2019-04-27
Unity iOS接SDK前先要了解的知识(Objective-C)
2019-04-27
记一次iOS闪退问题的定位:NSLog闪退
2019-04-27
Unity打开照相机与打开本地相册然后在Unity中显示照片(Android与iOS)
2019-04-27
无需接入SDK即可在Unity中获取经纬度(Android/iOS),告诉我你的坐标
2019-04-27
Unity获取系统信息SystemInfo(CPU、显卡、操作系统等信息)
2019-04-27