有没有办法检测设备定位事件或至少检测到 使用时获取当前设备方向 android:screenOrientation在清单中? 我的意思是设备方向而非应用方向。
我的问题是我真的想让我的应用程序保持在portait模式 (这是一个网络视图)但我想在我自己处理方向改变 应用程序。当设置android:screenOrientation时,取向为getped 方法始终是应用程序方向,而不是设备 取向。
此致 加埃唐
答案 0 :(得分:1)
答案 1 :(得分:1)
如果您想自己处理设备旋转,请使用以下方法:
@Override
public void onConfigurationChanged(Configuration config)
{
super.onConfigurationChanged(config);
Display display = ((WindowManager)getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay();
if(display.getRotation() == Surface.ROTATION_90)
{
mFlash.startAnimation(mRotate);
}
if(display.getRotation() == Surface.ROTATION_90)
{
parameters.setPreviewSize(width, height);
}
if(display.getRotation() == Surface.ROTATION_180)
{
parameters.setPreviewSize(height, width);
}
if(display.getRotation() == Surface.ROTATION_270)
{
parameters.setPreviewSize(width, height);
mCamera.setDisplayOrientation(180);
}
}
if语句中的操作只是可能做的事情的示例。显然,处理你需要的任何东西。
答案 2 :(得分:0)
我认为您获得的好方向(纵向或横向)值将始终为您提供“应用程序方向”。对于设备方向,您可以查看SensorManager.getOrientation。
不幸的是,用于侦听此值更改的方法已标记为已弃用,因此您可能需要定期轮询。