当前位置: 首页 > 知识库问答 >
问题:

Android:获取方向,即使应用程序锁定为纵向

丁沛
2023-03-14

我正在开发一个Android相机api应用程序,它被锁定在清单文件的竖屏中。

android:configChanges="orientation"
android:screenOrientation="portrait"

我的问题是,当我存储图片时,它们都以相同的方向存储。

我希望它们以真实的方向存储,例如,我的天花板应该位于存储图片的顶部,无论我如何定位手机,如果这有意义的话

为了做到这一点,我必须知道设备的方向,然而,当应用程序锁定在纵向时,所有getOrientation的方法都认为我的手机处于纵向模式,无论我手机的物理方向如何。

以下是我尝试过的:

Camera.CameraInfo cameraInfo = new Camera.CameraInfo();
Camera.getCameraInfo(mCurrentlyUsedCamera,cameraInfo);
Log.e("debug","orientation:"+cameraInfo.orientation);

getResources().getConfiguration().orientation

this.getWindowManager().getDefaultDisplay().getRotation()

.

.

共有1个答案

周高畅
2023-03-14

简而言之,你必须直接使用传感器。我有点让它工作了,但后来我发现了这个家伙:Android:从方位角获取设备方位,滚动

所以我基本上删除了我所有的代码,并实现了他的实用程序类:)https://gist.github.com/abdelhady/501f6e48c1f3e32b253a#file-设备定向

 类似资料:
  • 我想知道如何旋转设备,即使用户在iPhone打开肖像方向锁定。就像亚马逊黄金视频应用程序一样,通常我看到应用程序是竖屏的,但是当我开始看电影时,即使我打开肖像方向锁定,应用程序也会将其旋转变为水平。 当我在谷歌上搜索时,我只找到了这篇文章,但使用CoreMotion是实现我想要做的事情的唯一方法?? 我使用以下代码从本文中旋转设备, 但该应用程序不会自动从纵向旋转到横向(从横向到纵向工作...),

  • 我不希望我的应用程序被美化并始终是porttrait。所以我让我的应用程序部署信息仅设置纵向。但是当我需要在我的应用程序中显示任何图像或视频时,我需要横向模式才能更好地显示。 我可以通过检测设备方向的变化 但是,即使应用程序部署信息肖像被锁定,我如何手动更改设备方向? 这不起作用

  • 我正在创建一个只打算在肖像模式下运行的应用程序。在应用程序中,我使用一个意图调用Android原生相机应用程序。当手机处于纵向方向时,应用程序按预期工作。当手机处于横向方向时,相机应用程序以横向方向启动,这导致当相机意图关闭时,主activity和我的片段被重新创建,这导致一些无意的行为。 有没有办法强制相机应用在通过意图推出时只能以人像方向打开? 谢谢,

  • 如何使android studio中的应用程序在手机锁定时工作。假设在任何紧急情况下,如果用户在手机上滑动或按下锁定按钮2次,手机锁定时,它会将其位置发送到保存的紧急号码。有什么想法吗?

  • 问题内容: 我有一个内部。我想锁定x轴,以便视图仅垂直滚动。如何启用方向锁定? 问题答案: 首先,设置的具有的宽度等于或小于所述UIScrollView的框架的宽度。 接下来,设置 为NO。即使您已告知滚动视图没有更多可显示的水平内容,这将防止滚动视图出现“橡皮筋”。 滚动视图中的实际内容并不重要。 斯威夫特5.0

  • 问题内容: 您好,我收到了我的应用程序出现以下错误的问题: 现在我不知道为什么它这么慢,并得到错误,该网站唯一要做的就是打开php文档并启动bash命令。:(所以它应该只重定向1次 谢谢 :) 我将使用应用程序中的按钮打开灯: 编辑: 现在我正在使用: 但是出现以下错误: 问题答案: 您的Android代码完美无缺- 这是服务器无法发挥作用的原因。首先,检查您正在调用正确的URL并传递正确的参数。