三星拍照旋转问题

来源:互联网 发布:如何打开端口8081 编辑:程序博客网 时间:2024/04/28 17:12

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

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

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);

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


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

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

android:configChanges="orientation|screenSize"

即:

<!-- 主界面 -->        <activity android:name="com.example.fuckgoogle.MainActivity"             android:configChanges="orientation|screenSize"/>

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


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

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

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


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


欢迎访问我的技术博客Bigflower  http://www.flowerfat.com

0 0
原创粉丝点击