android manifest中activity android:configChanges 横竖屏切换,禁止重建Activity

2023-10-29

android:configChanges
Android:configChanges=[mcc,mnc,locale,touchscreen,keyboard,keyboardHidden,navigation,screenLayout,fontScale,uiMode,
     orientation,screenSize,smallestScreenSize]

 程序在运行时,一些设备的配置可能会改变,如:横竖屏的切换、键盘的可用性等,这样的事情一发生,Activity会重新启动,其中的过程是:
其 OnPasuse 、onStop 、onDestroy 方法均被调用。onSaveInstanceState 方法会在onStop之前执行,它和onPause没有特定顺序,可前可后。
在销毁之前会先 called  onSaveInstanceState()去保存你应用中的一些数据,然后called onDestroy(),最后才去called onCreate()或onRestoreInstanceState()方法去重新启动Activity。


当指定的属性后,属性发生变化时,不会去重新启动Activity,而是通知程序去调用 onConfigurationChanged()函数 
例如:在进行横竖屏的切换时,会重新启动Activity,而定义了这个属性,就不会重新启动Activity了,而是去调用 onConfigurationChanged()函数。
可以设置多个属性,中间用|隔开
VALUE                         DESCRIPTION                                                                                                                                                                                      
"mcc" 国际移动用户识别码所属国家代号是改变了-----  sim被侦测到了,去更新mcc    mcc是移动用户所属国家代号
"mnc" 国际移动用户识别码的移动网号码是改变了------ sim被侦测到了,去更新mnc    MNC是移动网号码,最多由两位数字组成,用于识别移动用户所归属的移动通信网
"locale" 地址改变了-----用户选择了一个新的语言会显示出来
"touchscreen" 触摸屏是改变了------通常是不会发生的
"keyboard" 键盘发生了改变----例如用户用了外部的键盘
"keyboardHidden" 键盘的可用性发生了改变
"navigation" 导航发生了变化-----通常也不会发生
"screenLayout" 屏幕的显示发生了变化------不同的显示被激活
"fontScale" 字体比例发生了变化----选择了不同的全局字体
"uiMode" 用户的模式发生了变化
"orientation" 屏幕方向改变了
"screenSize" 屏幕大小改变了
"smallestScreenSize" 屏幕的物理大小改变了,如:连接到一个外部的屏幕上

	public void onConfigurationChanged(Configuration newConfig) {    
        try {    
            super.onConfigurationChanged(newConfig);    
            if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) {    
                Log.v("Main", "onConfigurationChanged_ORIENTATION_LANDSCAPE");    
            } else if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT) {    
                Log.v("Main", "onConfigurationChanged_ORIENTATION_PORTRAIT");    
            }    
        } catch (Exception ex) {    
        }    
    }

横竖屏切换,禁止重建Activity
android:configChanges="orientation|keyboardHidden|screenSize"



本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

android manifest中activity android:configChanges 横竖屏切换,禁止重建Activity 的相关文章

随机推荐

  • 强化学习入门笔记

    学习情况 先后听了两门课程 分别是David Silver的RL和Sergey Levin的DRL 各耗时一周左右 后者更难一些 对RL基本概念 常用算法原理及其伪代码有了大致了解 但是因为时间有点赶 没有敲完整的算法代码 由于已经有写得比
  • vue每个生命周期的作用,以及在哪个阶段发请求,详解

    1 什么是vue生命周期 有什么作用 每个 Vue 实例在被创建时都要经过一系列的初始化过程 例如 需要设置数据监听 编译模板 将实例挂载到 DOM 并在数据变化时更新 DOM 等 同时在这个过程中也会运行一些叫做 生命周期钩子 的函数 这
  • C++文件 I/O操作

    文件流类和文件流对象 输入输出是以系统指定的标准设备 标准设备 输入设备为键盘 输出设备为显示器 为对象 在实际的开发中 不可避免会以磁盘文件作为对象 即从磁盘文件读取数据 将数据输出到磁盘文件 与文件输入输出有关的类主要定义在fstrea
  • verilog 不可综合语句

    础知识 verilog 不可综合语句 1 所有综合工具都支持的结构 always assign begin end case wire tri aupply0 supply1 reg integer default for function
  • 前端批量删除之bootstrapTable多选

    获取表单 选中表单的值 var rows exampleTable bootstrapTable getSelections 返回所有选择的行 当没有选择的记录时 返回一个空数组 if rows length 0 layer msg 请选择
  • Node16版本 对应node-sass和sass-loader的版本号

    node sass 6 0 1 sass loader 10 2 0 1 打开package json文件 把图中node sass和sass loader的版本号进行修改 版本号改成上面代码所示的版本 2 改完记得要打开终端重新npm i
  • 决策树(decision tree)(一)——构造决策树方法

    决策树 decision tree 一 构造决策树方法 说明 这篇博客是看周志华老师的 机器学习 西瓜书 的笔记总结 虽然自己写了很多总结性文字包括一些算法细节 但博客中仍有部分文字摘自周老师的 机器学习 书 仅供学习交流使用 转载博客务必
  • 对象及原型链

    对象及原型链 面向对象的三大特性 原型链 创建对象的方法 原型 构造函数 实例 原型链 原型 构造函数 实例三者之间的关系 原型链 基本原理 原型链的关键 instanceof的原理 new运算符 类继承和原型继承的区别 本文仅为前端初学者
  • 异常点检测算法分析与选择

    1 1 常见异常点检测算法 在数据库中包含着少数的数据对象 它们与数据的一般行为或特征不一致 这些数据对象叫做异常点 Outlier 也叫做孤立点 异常点的检测和分析是一种十分重要的数据挖掘类型 被称之为异常点挖掘 28 对于异常数据的挖掘
  • 图的三种存储结构:邻接矩阵表示法+链表法+十字链表法

    一 邻接矩阵表示法 1 简介 图的邻接矩阵表示法也称作数组表示法 它采用两个数组来表示图 一个是用于存储顶点信息的一维数组 另一个是用于存储图中顶点之间关联关系的二维数组 称为邻接矩阵 2 示例 1 无向图邻接矩阵 2 有向图邻接矩阵 3
  • Vue 利用文本域做一个批量添加选项功能

    需要用到的 知识点 1 Element UI 的 Dialog 对话框
  • Allegro PCB设置高亮某个网络,提高对比度

    对于硬件工程师来说 检查PCB layout走线是经常的时候 但是网上我查找很多的教程 很少有说清楚怎么高亮某个网络 并且特别高亮 提高对比度的操作 1 点击Assign Color 扫把 弹出Options窗口 选择要高亮网络的颜色 比如
  • JVM(一):JVM内存模型(面试常见考点)

    JVM内存模型 如下图所示 线程私有 程序计数器 字节码解释器工作时通过改变这个计数器的值来选取下一条需要执行的字节码指令 分支 循环 跳转 异常处理 线程恢复等功能都需要依赖这个计数器来完 1 用于顺序调用程序指令 完成程序的流程控制 如
  • halcon联合C#编程,读取并显示图片

    先在halcon里面编辑功能实现效果 把用到的一些算子放进来 如下图 将程序导出为C 此时会输出一个类 创建一个C 工程 添加Halcondonet dll到工程的引用当中 如下图 halcondonet dll的位置在halcon安装目录
  • 邮箱服务器设置

    163 com POP3服务器地址 pop 163 com 端口 110 SMTP服务器地址 smtp 163 com 端口 25 126邮箱 POP3服务器地址 pop 126 com 端口 110 SMTP服务器地址 smtp 126
  • ESP8266+STM32获取网络时间、OLED显示时间&图片&视频。

    学习过程不易 发文共享以下学习过程 先说说我的设计内容的组成 目录 学习过程不易 发文共享以下学习过程 1 STM32控制ESP8266获取网络时间 第一步 电脑控制ESP8266获取时间数据 2 STM32基于获取到的时间使用定时器本地运
  • vue.js之NVM安装步骤详解

    1 下载地址 https github com coreybutler nvm windows releases 2 3 4 5 6 7 8 设置环境变量 这里打开就有 自动创建的 不用管 9 这也是自动配的 10 在windows下cmd
  • Go语言基础入门

    文章目录 前言 安装 代理设置 开发环境 程序编写与编译 包和模块 包 package 模块 module 模块编写与使用 多模块工作区 总结 前言 Go是由谷歌支持的开源编程语言 属于编译型语言 对并发编程有较好的支持 官网页面 http
  • 毕业设计-基于 MATLAB 的图像分割算法研究及实现

    目录 前言 课题背景和意义 实现技术思路 一 MATLAB 开发环境简介 二 图像分割算法设计 MATLAB代码 实现效果图样例 最后 前言 大四是整个大学期间最忙碌的时光 一边要忙着备考或实习为毕业后面临的就业升学做准备 一边要为毕业设计
  • android manifest中activity android:configChanges 横竖屏切换,禁止重建Activity

    android configChanges Android configChanges mcc mnc locale touchscreen keyboard keyboardHidden navigation screenLayout f