gpt4 book ai didi

java - 固定方向时获取屏幕方向

转载 作者:太空宇宙 更新时间:2023-11-03 22:30:48 25 4
gpt4 key购买 nike

OpenCV 库强制我在我的 AndroidManifest 中定义 android:screenOrientation="landscape" 以便全屏显示相机。我想检测我的 android 应用程序中的某些对象(基本形式的对象识别)。问题在于,为了检测物体,无论手机处于哪个方向,都会分析来自相机的框架。因此,当您手持纵向模式的手机时,图像识别算法不会检测到任何物体,因为它只分析横向模式下的画面。

我想在用户的手机处于纵向模式时显示 Toast,以便他知道图像识别仅适用于横向模式。但是获取屏幕方向的经典方法(例如使用 getResources().getConfiguration().orientation)将不起作用,因为方向在 Manifest 中固定为横向(因此结果总是 ORIENTATION_LANDSCAPE)

有没有其他方法可以获取手机的物理方向(即使 Activity 的方向是固定的)?

最佳答案

尽管您需要向 list 文件中的 Activity 节点添加一个属性来处理更改,但要让您的 Activity 捕捉到这一点。

<activity android:name=".My_Activity"
android:label="@string/app_name"
android:configChanges="orientation">

In You Activity 类:

@Override
public void onConfigurationChanged(Configuration myConfig) {
super.onConfigurationChanged(myConfig);
int orient = getResources().getConfiguration().orientation;
switch(orient) {
case Configuration.ORIENTATION_LANDSCAPE:
//you can remove this case if you want
break;
case Configuration.ORIENTATION_PORTRAIT:
//You can give a toast here
break;
default:
//take necessary action
}
}

关于java - 固定方向时获取屏幕方向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25739891/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com