原文地址:http://blog.csdn.net/zhaokaiqiang1992/article/details/19921703

android中的组件Activity在manifest.xml文件中可以指定参数android:ConfigChanges,用于捕获手机状态的改变。 在Activity中添加了android:configChanges属性,在当所指定属性(Configuration Changes)发生改变时,通知程序调用onConfigurationChanged()函数。

设置方法:将下列字段用“|”符号分隔开,例如:“locale|navigation|orientation”

“mcc“ 移动国家号码,由三位数字组成,每个国家都有自己独立的MCC,可以识别手机用户所属国家。
“mnc“ 移动网号,在一个国家或者地区中,用于区分手机用户的服务商。
“locale“ 所在地区发生变化。
“touchscreen“ 触摸屏已经改变。(这不应该常发生。)
“keyboard“ 键盘模式发生变化,例如:用户接入外部键盘输入。
“keyboardHidden“ 用户打开手机硬件键盘
“navigation“ 导航型发生了变化。(这不应该常发生。)
“orientation“ 设备旋转,横向显示和竖向显示模式切换。
“fontScale“ 全局字体大小缩放发生改变

对android:configChanges属性,一般认为有以下几点:
1、不设置Activity的android:configChanges时,切屏会重新调用各个生命周期,切横屏时会执行一次,切竖屏时会执行两次

2、设置Activity的android:configChanges="orientation"时,切屏还是会重新调用各个生命周期,切横、竖屏时只会执行一次

3、设置Activity的android:configChanges="orientation|keyboardHidden"时,切屏不会重新调用各个生命周期,只会执行onConfigurationChanged方法

但是,自从Android 3.2(API 13),在设置Activity的android:configChanges="orientation|keyboardHidden"后,还是一样会重新调用各个生命周期的。因为screen size也开始跟着设备的横竖切换而改变。所以,在AndroidManifest.xml里设置的MiniSdkVersion和 TargetSdkVersion属性大于等于13的情况下,如果你想阻止程序在运行时重新加载Activity,除了设置"orientation",你还必须设置"ScreenSize"。
解决方法:
AndroidManifest.xml中设置android:configChanges="orientation|screenSize“

转载于:https://www.cnblogs.com/zyppac/p/3829714.html

android:configChanges属性总结相关推荐

  1. android:configChanges属性

    对android:configChanges属性,一般认为有以下几点: 1.不设置Activity的android:configChanges时,切屏会重新调用各个生命周期,切横屏时会执行一次,切竖屏 ...

  2. AndroidManifest.xml中Activity ConfigChanges属性的用法

    通过设置这个属性可以使Activity捕捉设备状态变化,以下是可以被识别的内容: CONFIG_FONT_SCALE CONFIG_MCC CONFIG_MNC CONFIG_LOCALE CONFI ...

  3. Android activity属性

    android:allowTaskReparenting 是否允许activity更换从属的任务,比如从短信息任务 切换到浏览器任务. android:alwaysRetainTaskState 是否 ...

  4. Android manifest属性总结

    1.    android:allowTaskReparenting 是否允许activity更换从属的任务,比如从短信息任务 切换到浏览器任务.  ------------------------- ...

  5. Android windowSoftInputMode属性解析

    简介 android:windowSoftInputMode 是 Androidmanifest.xml 中 activity 的一个属性,例如 <activity android:name=& ...

  6. android:configchanges的作用,将uiMode附加到android:configChanges实际做什么?

    我只是修复了我们应用程序中的错误.问题在于,对接或取消对接设备会导致应用程序重新启动.我在拖曳大量论坛线程后发现了此修复程序,是将uiMode附加到AndroidManifest.xml文件中的and ...

  7. Android 相关属性

    TextView: Android:layout_gravity="center_vertical" 设置控件显示的位置:默认top,这里居中显示,还有bottom android ...

  8. Android activity属性设置大全

    activity属性设置大全 (请发邮件到 freeget.one@gmail.com  获得最新翻强软件.) android:allowTaskReparenting=["true&quo ...

  9. android:layout_gravity和android:gravity属性的区别

    android:gravity / android:layout_gravity区别: android:gravity 是设置该view里面的内容相对于该view的位置,例如设置button里面的te ...

最新文章

  1. python解释器工作原理_Python解释器执行原理
  2. WPF中的动画——(六)演示图板
  3. BJUI实现点击按钮弹窗,提交到后台action后回显数据流程整理
  4. git clone时出现 error:inflate:data stream error(incorrect data check)
  5. 软件项目管理课后题下载【共5个章(1、3、4、5、6)】
  6. java neo4j_Neo4j Java REST绑定–第2部分(批处理)
  7. LeetCode 466. 统计重复个数(循环节)
  8. [leetcode]5343. 多次求和构造目标数组
  9. Python进阶-----类的内置item属性方法
  10. 第二十二章 职业道德规范
  11. JavaScript面向对象轻松入门之概述(demo by ES5、ES6、TypeScript)
  12. jdbc 生成建表语句_记录一次TDH的inceptor导出建表语句和数据
  13. 计算机应用基础试卷结果分析,计算机应用基础试卷分析
  14. 签到活动 测试要点分析
  15. 外设驱动库开发笔记28:W5500以太网控制器
  16. Ubuntu16.04中好用的软件(持续更新)
  17. 屏幕增强字段如何保存修改记录
  18. JS ListBox动态加载数据
  19. python实现简单的图书管理系统
  20. jsd2205-csmall-passport(Day13)

热门文章

  1. vector C++ 详细用法
  2. OpenCV显示中文汉字,未使用CvxText和FreeType库
  3. linux 命令 find -exec 操作的问题
  4. Ubuntu中安装Eclipse的SVN插件——subclipse
  5. 华为免费虚拟服务器,免费试用虚拟服务器
  6. oracle数据库没有选项,创建oracle数据库时,出现ORA-00922: 选项缺失或无效
  7. 【APICloud系列|18】上架Android应用到腾讯应用包、百度手机助手、华为应用市场、小米应用商店、阿里应用分发平台需要准备哪些材料?
  8. 计算机共享盒子,电脑之间如何共享文件
  9. 图像存在hadoop比在mysql中_比较SQL数据库和Hadoop
  10. 手机 服务器 推送消息推送消息,推送信息到手机的pushover使用方法及sample code