重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
屏幕会根据当前传感器进行自动旋转,旋转之后,activity屏幕的 生命周期不会发生变化 ,在activity中只会回调onConfigurationChanged方法
成都创新互联专注为客户提供全方位的互联网综合服务,包含不限于成都网站制作、成都网站建设、外贸营销网站建设、江北网络推广、微信小程序开发、江北网络营销、江北企业策划、江北品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;成都创新互联为所有大学生创业者提供江北建站搭建服务,24小时服务热线:18980820575,官方网址:www.cdcxhl.com
可见每次旋转onDestory()方法都会被调用,如果要保存一些activity被销毁前的数据的可以在onSaveInstanceState()方法中通过Bundle去保存
当我们调用了:
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE)
或者
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
之后屏幕不会再自动旋转回来的情况
关于这点:我在b站App端也发现相关问题,点进b站的播放视频界面,我们手机开启屏幕自动旋转,当我们横竖屏旋转的时候是可以正常横竖屏切换的,但是我们点击视频右下角的放大(就是横屏)之后,自动旋转就失效了,要竖屏的话需要再点击一次
关于这个问题,就是我们说的setRequestedOrientation之后重力传感失效的问题,处理的方法也很简单
在AndroidManifest.xml中设置了android:configChanges="orientation|keyboardHidden|screenSize的基础上,在onConfigurationChanged中调用 setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR) 方法,使其恢复重力传感即可
在手机桌面上点击设置这个选项,进入设置页面。向下拉,可以看到显示这个选项点击进入。
在在显示选项中可以看到自动旋转屏幕,点击自动旋转屏幕后的按钮关闭即可。
如果想要快速设置旋转屏幕,我们可以在手机桌面向下拉,看到功能排序。
在此页面将我们想要使用的功能即方向锁定向上移动,则可以将该功能放置在下拉界面的第一位,这样就方便了我们进行设置。
以华为Mate40手机为例:
升级HarmonyOS系统后,从屏幕右侧顶部下滑出控制中心界面,点击自动旋转开启屏幕自动旋转功能。