您的位置:首页 > 移动开发 > Android开发

从一个问题来认识android:configChanges属性

2016-03-14 19:56 387 查看
这两天遇见一个挺奇葩的问题,怎么讲呢,其实就是在A界面上调用系统相机,然后把照片显示到界面上,原本是一个很简单的问题,可是却出现一个挺奇葩的现象,在绝大部分手机上,我试过MX4  ,荣耀6 ,小米三,小米四,oppo R7,还有摩托罗拉的一款旧手机,都挺正常的,可是当我用三星note3的时候,却发现了一个很奇怪的现象,就是不管我怎么调试,点击保存的时候,都会执行A 界面 的onCreat方法,然后没有带回来数据,直接把A界面消耗,跳转到A之前的那个界面,郁闷了好久都没弄出来到底是怎么回事,不过还好的是,在我们项目中,另外一个地方也调用了系统相机,可是那个地方可以,同样的代码,都在note3
上运行,为啥那边就可以,这边就不行呢,而且我使用的是CV大发啊,直接从那个地方copy过来也不行,不是在代码中,那就是在配置文件中,然后就发现了,在那个界面上,比A界面多了一行配置,

android:configChanges="orientation|screenSize" 

就是这行配置导致的现象不一样,android:configChanges   这个属性是干嘛的  简单
的来说,就是 通过设置这个属性可以使Activity捕捉设备状态变化,可以识别的值有一下几个,

VALUE                        DESCRIPTION                                                                                                                                                                                      
"mcc"国际移动用户识别码所属国家代号是改变了-----  sim被侦测到了,去更新mcc    mcc是移动用户所属国家代号
"mnc"国际移动用户识别码的移动网号码是改变了------ sim被侦测到了,去更新mnc    MNC是移动网号码,最多由两位数字组成,用于识别移动用户所归属的移动通信网
"locale"地址改变了-----用户选择了一个新的语言会显示出来
"touchscreen"触摸屏是改变了------通常是不会发生的
"keyboard"键盘发生了改变----例如用户用了外部的键盘
"keyboardHidden"键盘的可用性发生了改变
"navigation"导航发生了变化-----通常也不会发生
"screenLayout"屏幕的显示发生了变化------不同的显示被激活
"fontScale"字体比例发生了变化----选择了不同的全局字体
"uiMode"用户的模式发生了变化
"orientation"屏幕方向改变了
"screenSize"屏幕大小改变了
"smallestScreenSize"屏幕的物理大小改变了,如:连接到一个外部的屏幕上
 
值是copy   http://blog.csdn.net/jkkjklmn/article/details/7349517  这篇blog.

 为啥会出现这个原因呢,其实我在测试的时候就发现,在点击拍照后,保存的时候,界面会旋转一下,可是我想不通的是,为啥拍照界面旋转,会导致A界面也会旋转呢,在其他手机上不出现,就只有note
3 上出现,这个现在还没搞清楚,等搞清楚了在记录下来。但是现在问题是解决了。晚上可以睡个好觉了。。。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: