autoX判断设备的屏幕方向是横屏还是竖屏

水一篇文章,万一有人刚好需要呢…

方法一

//1竖屏 2横屏

log(getScreenDirection());

function getScreenDirection() {
    importPackage(android.content);
    return context.getResources().getConfiguration().orientation;
}

通过 getResources().getConfiguration().orientation 可以获取到安卓设备当前的屏幕方向,有两种取值 ORIENTATION_LANDSCAPE 和 ORIENTATION_PORTRAIT。这样我们通过对比就可以判断出当前屏幕的方向。

这个方法使用较为简单,只需要有 Context 对象就可以获取到当前的屏幕方向。但该方案有一个缺陷,例如当 Activity 在 manifest 中使用 android:screenOrientation=”portrait” 锁定竖屏,此时即使你将手机横置,页面仍然停留在 “portrait” 状态,此时获取到的也同样是 “portrait”,但其实此时手机是横向的。

方法二

还有一种实现 android.view.OrientationEventListener 抽象类的 onOrientationChanged 方法,onOrientationChanged 获取到的 “orientation” 范围是从 0 到 359。0 代表手机正放、竖直方向,90 代表从 0 顺时针旋转 90 度,以此类推。更多的内容可以参考Android SDK 。

这个方法中,onOrientationChanged 传入的 orientation 就是真实的屏幕朝向。我们对 0 到 359 做处理,计算出屏幕方向即可,此方案更适合用来获取当前真正的屏幕方向。有兴趣的同学,可以使用这个方法,来检测实际的屏幕方向。

1. 官方交流QQ群,添加多个不批。建议使用安卓手机或电脑申请。
Auto.js学习交流③群:286635606
Auto.js学习交流②群:712194666(满员)
IOS免越狱自动化测试群:691997586
EasyClick学习交流①群:737066890
2. 盗版,破解有损他人权益和违法作为,请各位会员支持正版。
3. 本站部分资源来源于用户上传和网络搜集,如有侵权请提供版权证明并联系站长删除。
4.如未特别申明,本站的技术性文章均为原创,未经授权,禁止转载/搬运等侵权行为。
5.全站所有付费服务均为虚拟商品,购买后自动发货。售出后概不接受任何理由的退、换。注册即为接受此条款。
6.如果站内内容侵犯了您的权益,请联系站长删除。
飞云脚本 » autoX判断设备的屏幕方向是横屏还是竖屏

企业级大数据智能营销管理系统

了解详情