红米note3及个别手机在调用相机拍照时,点击拍照,如果关闭闪光灯,拍照会卡顿一下,接着屏幕白屏,之后是截屏界面。虽然可以截屏,也可以显示在imageview上。但是界面的数据丢了。查了很多资料。有的说是被回收了,但是日志里并没有走onDestroy()方法。但其实整个app其实是崩溃了。具体原因尚未找到。但是找到了一个方法。利用onSaveInstanceState()方法。

第一步:

我用的是takephoto三方框架,在拍照的时候会有一个方法takesuccess,里面有照片的路径我的思路是把这个路径存在本地,然后在取出来。sp存储大家可以写一个类,这里使用的是古老的方法。值得注意的是:

upload(compressPath);

这个方法,如果相机顺利完成照相的功能,那么就会走此方法,如果失败了,那么此方法就不会走。所以大家不用担心出现重复上传头像的情况。

private SharedPreferences sp;
private SharedPreferences.Editor editor;
public void takeSuccess(TResult result) {String compressPath = result.getImage().getCompressPath();
    Glide.with(this).load(compressPath).into(cv_head);
    //uploadPic(compressPath);

    sp = getSharedPreferences(Httpurl.USERID, Context.MODE_PRIVATE);
    editor = sp.edit();

    editor.putString("picUri", compressPath);
    editor.commit();

    MainApplication.picUri = sp.getString("picUri", "0");
    Log.e("2233", "takeSuccess: "+MainApplication.picUri );

    MainApplication.picUri = compressPath;
    upload(compressPath);
}

第二部:图片剪切相片后,会调用此方法。然后判断我们存储的user_id,如果为零,证明是崩溃了,需要重新获取。然后在调用上传图片的接口,把图片上传至服务器。然后调用getuser();方法,就是获取此界面信息的方法。如果不调用此方法,界面的数据为空。

@Override
protected void onSaveInstanceState(Bundle outState) {super.onSaveInstanceState(outState);
    if (MainApplication.user_id.equals("0")){sp = getSharedPreferences(Httpurl.USERID, MODE_PRIVATE);
        MainApplication.user_id = sp.getString("uid", "0");
        MainApplication.picUri = sp.getString("picUri", "0");

        upload(MainApplication.picUri);
        getuser();

    }
}

虽然方法不是很好,但是也能解决燃眉之急。如果哪位大神有更好的方法,欢迎留言。

红米note3照相数据丢失相关推荐

  1. 红米 Note3 (kenzo)刷入 Lineage OS

    红米 Note3 (kenzo)刷入Lineage OS 的过程 详细的教程请看 Install LineageOS on kenzo 本文做一些额外的补充 0 刷机之前的准备工作 如果登陆了 Goo ...

  2. 红米note3android驱动,红米note3 mtp驱动

    很多红米note3的用户反应自己手机连接电脑后没法使用u盘模式,而且在设备管理器中发现MTP驱动上有个黄色的感叹号显示,这个其实就是没安装红米note3 mtp驱动的缘故,这里西西给大家提供了红米no ...

  3. 红米note3支持html,【小米红米Note3评测】外观变化不小 金色版略显俗套_小米 红米Note3_手机评测-中关村在线...

    外观变化不小 金色版略显俗套 本次发布会上并没有像红米Note 2那样一直在标榜颜值,或许雷布斯也清楚大电池带来的重量和厚度的增加.没有延续彩色背壳的设计再标榜颜值意义不大吧,毕竟群众的眼光是雪亮的. ...

  4. 红米note3支持html,红米Note3什么配置参数?红米Note3标配有什么?

    红米Note3什么配置参数 红米Note3外观设计时尚靓丽,采用5.5英寸全高清屏幕,性能上搭载了联发科Helio X10(MT6795T)真八核处理器,配备了500万像素前置+1300万像素后置摄像 ...

  5. 红米note3支持html,红米note3如何检测硬件信息?指令代码说明

    使用红米note3的用户, 在拨号界面输入 *#*#6484#*#* 进去后选择第一项版本信息.就是硬件信息.显示true的黑色的才是你手机的硬件,下面是我的手机硬件,京东方屏幕,sun电池(具体不知 ...

  6. 红米note3 Android N,骁龙650的力量 红米Note3全网通版评测

    一款迟到的红米Note3在2015年底终于被呈上,弥补了小米此前在指纹识别方面的长时间缺位.而除了广被关注的小米首款指纹识别按键手机.全金属手机等条件之外,这款红米Note3还有另一个值得关注的因素, ...

  7. 红米note3全网通版刷机救砖 9008强刷(无需短接)

    红米note3全网通版刷机救砖 9008强刷(无需短接) 背景 尝试刷机 红米 note3 全网通刷机教程(无需解锁 bl) 准备工作 要下载的内容 步骤一.platform-tools 调试 步骤二 ...

  8. 红米note3图片剪裁bug

    " *Channel is unrecoverably broken and will be disposed!*" 这行英文我不认识,但是百度认识.这个bug百度上千篇一律各种解 ...

  9. 红米note3 android go,离完美只差一步:MI 小米 红米Note5 智能手机 体验评测(含高通骁龙636性能测试)...

    离完美只差一步:MI 小米 红米Note5 智能手机 体验评测(含高通骁龙636性能测试) 2018-04-06 12:57:42 255点赞 208收藏 187评论 其实早在发布之后,就计划好要做红 ...

最新文章

  1. Switcher ---Vista Areo 工具
  2. Git高速入门——Git安装、创建版本号库以及经常使用命令
  3. 解析导入表和IAT表
  4. Coins and Queries(map迭代器+贪心)
  5. 【题解】Luogu P3674 小清新人渣的本愿
  6. linux下源码安装git
  7. tensor转换为图片_为大家介绍图片转换pdf的经验总结!你找对方法了吗?
  8. 判断平台是windows还是linux,用这个方法就行了
  9. 什么是计算机计算机网络的主要功能是什么,计算机网络的三大主要功能是什么?-与非网...
  10. 红旗linux怎么更新,红旗linux7.0下自动更新firefox
  11. 对 /etc/rc.d/init.d 目录的一点理解
  12. Java 输入输出流实验
  13. 硬笔行书字帖3500常用字_2018年【成年人实用硬笔行书】一对一直播培训简介
  14. 如何用photoshop做24色环_如何制作出Ps色环?
  15. python 导入自定义的包
  16. 在使用tr的时候经常遇到的错误1
  17. 群辉 NAS 配置 iSCSI 存储
  18. python数字转换拼音程序_课内资源 - 基于Python的拼音汉字转换程序
  19. pycharm 中 ‘unicodeescape’ codec can’t decode bytes in position XXX: trun错误解决方案背景描述...
  20. adt-bundle-mac android 模拟器 sd卡增加文件

热门文章

  1. 读书|林曦:她把自己的生活,过成了无用但丰盈的美学
  2. 北塔曾经很张狂 如今沉默为哪桩
  3. BootstrapTable中文文档
  4. omf多路径 oracle_OMF下Restore Oracle Datafile的优先级问题
  5. matlab生成sinc函数,【 MATLAB 】sinc 函数简介
  6. WCF实现双工通讯及客户端调用
  7. 异构网络互联;路由与转发;SDN基本概念;拥塞控制
  8. Problem fzu 2027 单词问题
  9. 微信小程序如何获取高清用户头像
  10. 【重点】心田花开:三年级教材知识点汇总