android 程序根据重力感应切换程序的方向

本文介绍了如何处理Android程序根据重力感应切换横竖屏的问题,包括遇到的挑战,如无法实时响应系统方向锁定状态的改变,以及最终通过ActivityInfo中的屏幕方向变量实现自动切换的解决方案。
摘要由CSDN通过智能技术生成

我是标题

今天处理了一下程序的重力感应切换问题,查了好多资料,的确得到了实现方法,但是有点差强人意,实现的效果最终的确可以实现横竖屏以及反向横竖屏的切换,但是却无视了系统通知栏对于方向的锁定与否…
刚开始我的想法是得到 系统的当前是否锁定了方向 通过

//返回值0表示关闭了重力感应(锁定方向),1表示开启了重力感应(旋转)
Settings.System.getInt(getContentResolver(),Settings.System.ACCELEROMETER_ROTATION)

得到系统的设定,然后自己决定在onresume() 中决定是否注册重力感应,但是此方法做不到实时的根据用户的设定而注册(解除注册) 下拉通知栏并不会触发 onresume()和onpause()

又想到是否能获取到系统的重力感应的开关呢? 费了九牛二虎之力发现 找不到…

好吧 ,最后绝望的我研究了一下 ActivityInfo中关于屏幕方向的变量,网上也有定义,但是成功离不开实践

SCREEN_ORIENTATION_UNSPECIFIED 根据系统(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值