android 三星拍照会旋转,三星拍照旋转问题

相信大家都知道在安卓开发的时候屏幕旋转是一个很蛋疼的问题。所以很多应用都是禁止横屏的。

最近在做一个项目,为了禁止横屏,在我们的BaseActivity中加入了这么一句话

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);

所有的Activity都继承他,果然屏幕旋转问题解决了。

但这不是本文章的重点。对于某些手机。比如三星(的某些型号) 拍照后屏幕会自动旋转的,根本停不下来。后来发现,当拍照后。主Activity的生命周期既然也重新走了一道,重新从服务器拉数据也就算了。还连带着其他的问题。

言归正传,怎么解决的呢。其实方法很简单,就是在清单文件Manifest中加入一句话

android:configChanges="orientation|screenSize"

即:

android:configChanges="orientation|screenSize"/>

以前一直以为这两种方法是一样的。后来百度了下Activity的onconfigurationchanged发现其实不是一个玩意儿。

另外。我们的工程中也存在一个问题,如果有网友有兴趣,可以看下。

很常见的问题:把拍照后的路径返回到全局的private String filePath; 里。但是发现三星的拍照后,图片读不出来,后来根据log看出,实际filePath这个变量里是没有值的。Why? 这个就要怪屏幕旋转了。

解决方法有两个,一个是把拍照的返回路径存到SP里,另一个就是在Activity的onSaveInstanceState里保存我们的数据(这种比较正统)

嗯 ,最后只想说一句:三星 *** ;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值