OpenCV库强制我在android:screenOrientation="landscape"中定义android:screenOrientation="landscape",以便在全屏上显示相机。我想检测我的android应用程序中的某些对象(基本形式的对象识别)。问题是,为了检测物体,无论手机在什么方向,都会在景物中分析摄像机的画面。因此,当你的手机处于纵向模式时,图像识别算法不会检测到任何物体,因为它只会分析景观模式下的帧。
我想显示一个烤面包,当用户有电话在肖像模式,使他知道,图像识别只在景观中工作。但是,获得屏幕方向的经典方法(例如使用getResources().getConfiguration().orientation)是行不通的,因为方向是固定在报表中的景观(所以结果总是ORIENTATION_LANDSCAPE)。
还有其他方法来获取手机的物理方向(即使活动的方向是固定的) ?
发布于 2014-09-09 08:37:15
但是,要使您的活动捕捉到这一点,您需要向清单文件中的活动节点添加一个属性来处理更改。
<activity android:name=".My_Activity"
android:label="@string/app_name"
android:configChanges="orientation">在你的活动课上:
@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
}
}发布于 2018-02-06 10:17:55
https://stackoverflow.com/questions/25739891
复制相似问题