安卓屏幕方向

2024-01-12

I tried getOrientation()获取方向值但它总是返回0!


getOrientation() 已弃用,但这不一定是问题的根源。确实,您应该使用获取旋转()代替获取方向()但只有当您的目标是 Android 2.2(API 级别 8)或更高版本时才能使用它。有些人,甚至谷歌员工有时似乎忘记了这一点。

举个例子,我的 HTC 希望运行 Android 2.2。获取方向() and 获取旋转()两者报告相同的值:

  • 0(默认,纵向),
  • 1(装置逆时针90度),
  • 3(装置顺时针90度)

当您将其“翻转”(旋转 180,即值 2)时,它不会报告。此结果可能是特定于设备的。

首先你应该明确你使用的是模拟器还是设备。你知道如何旋转模拟器吗?然后我建议使用 onCreate() 方法创建一个小型测试程序,如下所示:

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    WindowManager mWindowManager = (WindowManager) getSystemService(WINDOW_SERVICE);
    Display mDisplay = mWindowManager.getDefaultDisplay();

    Log.d("ORIENTATION_TEST", "getOrientation(): " + mDisplay.getOrientation());

}

检查您的设备屏幕是否已被锁定在设备设置中 设置 > 显示 > 自动旋转屏幕。如果未选中该复选框,Android 将不会向您的 Activity 报告方向变化。需要明确的是:它不会重新启动活动。就我而言,我只得到0,就像你所描述的那样。

如果将这些行添加到,您可以从程序中检查这一点onCreate()

int sysAutoRotate = 0;
try {
        sysAutoRotate = Settings.System.getInt(getContentResolver(), Settings.System.ACCELEROMETER_ROTATION);
    } catch (SettingNotFoundException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } 
Log.d("ORIENTATION_TEST", "Auto-rotate Screen from Device Settings:" + sysAutoRotate);

它会返回0如果自动旋转已关闭并且1如果自动旋转已打开。 另一次尝试。在您的原始程序中,您可能已在清单中设置

android:screenOrientation="portrait"

效果相同,但这次仅针对您的活动。如果您制作了小型测试程序,这种可能性就会被消除(这就是我推荐它的原因)。

备注:是的,整个方向/旋转主题确实是一个“有趣”的主题。尝试一下,使用 Log.d(),实验,学习。

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

安卓屏幕方向 的相关文章

  • 单击弹出菜单时为什么导航栏出现在全屏应用程序中

    我有一个全屏应用程序 MainActivity java public class MainActivity extends AppCompatActivity TargetApi Build VERSION CODES KITKAT pr
  • Android NDK 中使用“dynamic_cast”时出现“UnsatisfiedLinkError”

    我是 Android 开发新手 我面临下一个问题 当我使用 C 代码时 动态演员 表达方式 不满意的链接错误 当我在模拟器上启动应用程序时出现 但是当我在没有它的情况下运行应用程序时 一切正常 我的意思是 LogCat 没有任何错误 我尝试
  • Android 上有哪些字体可用? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我知道安卓有一个字体集合 http www ascenderfonts com store search
  • 将正确的上下文传递给 greendao 的 OpenHelper 构造函数

    如果我理解正确的话 在使用数据库时 我必须执行以下操作 DaoMaster OpenHelper helper new DaoMaster OpenHelper this test db null Override public void
  • android webview 函数 onPagefinished 被调用两次

    我的android webview功能onPageFinished被调用两次 我不知道为什么 但它在 android 2 2 上运行良好 但当我将其升级到 4 时 它就不起作用了 代码附在下面 Code Override public vo
  • 如何获取.so文件的依赖项列表?

    假设我有libFoo so为 android arm 编译 我不确定它链接到什么STL实现 有options http developer android com intl ru ndk guides standalone toolchai
  • FileNotFoundException:/存储/模拟/0/Android

    我尝试这个文件写入器 读取器代码段进行测试 File file new File Environment getExternalStorageDirectory LM lm lisdat 01 txt FileOutputStream ou
  • 如何从 Retrofit2 获取字符串响应?

    我正在做 android 正在寻找一种方法来执行超级基本的 http GET POST 请求 我不断收到错误 java lang IllegalArgumentException Unable to create converter for
  • Renderscript 示例构建错误

    所以我想尝试使用 RenderScript 的示例 并在 Eclipse 中导入了 HelloWorld 但它给了我这样的错误 2011 10 25 13 10 48 HelloWorld home mileoresko workspace
  • 以编程方式更新 Android 中的联系人姓名和电话号码

    我创建一个应用程序来读取 更新 删除联系人详细信息 这是更新联系人姓名和电话号码的问题 有人可以帮助我吗 我该怎么做 我正在使用以下代码 但它不起作用 Override public View onCreateView LayoutInfl
  • 应用内结算错误

    我的 UNMANAGED 应用内购买无法正常工作 在它完美运行之前 我可以使用测试帐户成功购买 但它突然不起作用了 因为我记得我对商家帐户所做的只是添加更多 2 4 个测试帐户 添加后 我的应用内购买将不起作用 所以我更新了公钥并上传了一个
  • 尝试在模拟器上安装第二个 flutter 应用程序时出错

    我创建了一个简单的 flutter 应用程序并在 android 模拟器上运行它 效果还不错 现在我创建了另一个 当我尝试在模拟器上运行它时 我得到 Error ADB exited with exit code 1 adb failed
  • 如何强制从本机代码打开 Android 软键盘?

    我有一个游戏 当用户触摸屏幕时 它使用从 C 到 Java 的回调来强制打开软键盘 Java代码很简单是这样的 this inputMethodManager toggleSoftInput InputMethodManager SHOW
  • 如何持续更新MPAndroidChart中的Y轴值

    我希望 LineChart 中的轴能够实时调整其最大值和最小值 当新数据的 Y 值增加 正值和负值 时 像 ResetAxisMaxValue 和 ResetAxisMinValue 这样的函数可以很好地工作 但是 一旦信号再次变低 Y 值
  • 无法获取 Facebook 传入请求

    我正在尝试在我的 Facebook android 游戏应用程序中实现发送数据并接受该数据 我正在关注https developers facebook com docs android send requests notification
  • Android Studio - 值必须 ≥ 0

    我在 Android Studio 中收到与光标有关的错误 我的代码中有以下行 String data cursor getString cursor getColumnIndex columnIndex columnIndex 被传递到该
  • Android Studio 将音乐文件读取为文本文件,如何恢复它?

    gameAlert mp3是我的声音文件 运行应用程序时 它询问我该文件不与任何文件类型关联 请定义关联 我选择TextFile错误地 现在我的音乐文件被读取为文本文件 我如何将其转换回music file protected void o
  • 在Android Studio中更改项目主题?

    我使用浅色主题创建了一些项目 现在我想将其更改为深色 但我不知道该怎么做 顺便说一句 我不是问如何在代码中做到这一点 只是问如何更改项目的默认主题 在 AndroidManifest xml 的 application 标签下 您可以设置您
  • JSON 到 hashmap (杰克逊)

    我想将 JSON 转换为 HashMapJackson http jackson codehaus org 这是我的 JSON String json Opleidingen name Bijz trajecten zorg en welz
  • FCM onMessageReceived 应用程序运行时返回空白消息和标题

    正如您在标题中所写 当应用程序关闭时 它运行良好 并且onMessageReceived获取消息正文和标题 但如果应用程序处于前台模式 运行模式 则可以发送通知 但没有消息和标题 请问该怎么办 代码 Override public void

随机推荐

  • 用小数字代替零?

    我一直在制作一个矩阵类 作为学习练习 并且在测试我的反函数时遇到并发出问题 我输入一个任意矩阵 2 1 1 1 2 1 1 1 2 并让它计算逆 我得到了正确的结果 0 75 0 25 0 25 0 25 0 75 0 25 0 25 0
  • 将 HTML 转换为 PDF - 任何 ASP.net 库 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • SerialPort.Open() 抛出 IOException - 系统资源不足,无法完成请求的服务

    我编写了一个 NET 4 Windows 服务 该服务定期 通常每天一次 通过串行端口与外部设备进行通信 总而言之 服务效果很好 但对于一位客户来说 时不时地打电话给SerialPort Open 抛出以下异常 System IO IOEx
  • iPhone 分布:当前没有匹配的配置文件

    我即将将应用程序上传到 iTunes Connect 我不是团队代理 团队代理似乎也不能让我成为团队代理 于是他登录会员中心并下载了分发证书 该证书与 WWDR 证书一起位于我的钥匙串中 捆绑包标识符设置为 se companyname a
  • C++ 和 UTF8 - 为什么不直接替换 ASCII?

    在我的应用程序中 我必须不断地在之间转换字符串std string and std wstring由于不同的 API boost win32 ffmpeg 等 特别是对于 ffmpeg 字符串以 utf8 gt utf16 gt utf8
  • 我想使用并行 ssh 在多个服务器上运行 bash 脚本,但它简单地打印 echo 语句

    我有一个名为的 bash 脚本sr run batch sh它可以实现图像的超分辨率 现在我想同时在不同的服务器上并行进行测试 IE 1 个给定时间点的虚拟机 然后在某个时间点有 2 个虚拟机 然后是 3 个 然后是 4 个 我尝试将命令写
  • 如何在Android上更快地将RGB565转换为YUV420SP?

    我需要显示一张jpeg图片 并将其转换为YUV420SP 首先我使用SkBitmap解析jpeg并显示它 然后我使用下面的代码在android上将RGB565转换为YUV420SP 但是转换640 480 RGB565图片花费了75ms 所
  • 如何以Python方式选择随机字符? [复制]

    这个问题在这里已经有答案了 我想在 python 中生成一个 10 个字母数字字符的长字符串 因此 这是从字母数字字符列表中选择随机索引的一部分 My plan set list a b c all the way till I finis
  • 检测 SQL 数据库更改

    考虑这个例子 INSERT INTO Table column1 SELECT value1 如果我要在 SSMS 中执行此命令 对于 C 表单应用程序 我需要做什么才能识别此事件 就像应用程序显示一个简单的东西一样MessageBox当此
  • 为什么此已验证的 JSON Web 令牌 (JWT) 输出为未定义?

    我正在尝试解码 JWTid token using jwks rsa https github com auth0 node jwks rsa and jsonwebtoken https github com auth0 node jso
  • IndexError:列表索引超出 model.fit() 范围

    我是张量流的新手 我正在尝试使用形状 16 16 的图像来训练我的网络 我将3张512 512的灰度图像分成16 16并全部附加 所以我有3072 16 16 训练时我遇到错误 我正在使用 jupyter 笔记本 有人可以帮助我吗 这是代码
  • 使用 Phonegap for android 的应用程序图标[重复]

    这个问题在这里已经有答案了 我正在尝试将图标应用到我在 PhoneGap 本地制作的应用程序中 我已经进行了尽可能多的搜索 并且只找到了在 PhoneGap 构建上应用应用程序图标的方法 但是我正在 Eclipse 中本地构建应用程序 有人
  • 如何使用 Slick 代码生成器来包含数据库视图?

    我正在尝试使用 Slick 3 0 3 为我的架构中的数据库表和视图生成 Scala 代码 服用这个博客 http arnaudt github io 2015 03 31 slick codegen html例如我有以下文件build s
  • 如何在 Yii 中播种?

    我想知道一旦通过迁移创建了表 如何在 Yii 中播种 我有一个使用 up 方法的迁移 public function up this gt createTable users array id gt pk login gt string N
  • 如何减去两个数字字符串[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 查找二叉搜索树中某个节点的父节点

    所以我想找到二叉树中一个Node的父节点 假设我通过文本文件在树中输入30 15 17 45 69 80 7 这棵树应该是 30 15 45 7 17 69 80 这是我的代码 Node BST searchforparentnode No
  • Angularjs:事件发生后服务器端(php)渲染和数据绑定客户端

    后端提供了一个完全渲染的网站 在前端我希望 AngularJS 通过 ajax 调用 数据绑定来处理动态内容 但是如果你提供指令 ng bind 那么 AngularJS 会将它们直接绑定到它们的初始值 该值在任何之前都是 NULL用户操作
  • 如何在IE10 Mobile中制作固定div?

    如何制作适用于 Windows Phone 8 上 IE10 Mobile 的固定 div 我当前使用的代码是 div style width 100 background color blue test div 这仅部分有效 当用户滚动时
  • 使用 numpy 在重复信号的一部分内绘制抛物线

    我有一个重复信号 它随着大约每秒重复一次的过程的每个周期而略有变化 尽管每个周期的持续时间和内容在某些参数内略有不同 我的信号数据每秒有一千个 x y 坐标 每个周期内的一小部分但很重要的数据已损坏 我想用向上的抛物线替换每个损坏的部分 对
  • 安卓屏幕方向

    I tried getOrientation 获取方向值但它总是返回0 getOrientation 已弃用 但这不一定是问题的根源 确实 您应该使用获取旋转 代替获取方向 但只有当您的目标是 Android 2 2 API 级别 8 或更