主动性不是自动旋转:

       <activity
            android:name=".E028"
            android:label="@string/app_name"
            android:screenOrientation="portrait"
            android:theme="@android:style/Theme.Black.NoTitleBar" >
        </activity>

如果我使用onconfigurationchanged,它将不起作用:
@Override
    public void onConfigurationChanged(Configuration newConfig) {
        // TODO Auto-generated method stub
        super.onConfigurationChanged(newConfig);
        if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) {
            Toast.makeText(this, "landscape", Toast.LENGTH_SHORT).show();
        } else if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT) {
            Toast.makeText(this, "portrait", Toast.LENGTH_SHORT).show();
        }
    }

当ativity不自动旋转时,如何检查手机的状态是横向还是纵向?
我想这个案子:我必须用传感器
我的代码:
@Override
    public void onSensorChanged(SensorEvent event) {
        // TODO Auto-generated method stub
        if (event.values[1] < 6.5 && event.values[1] > -6.5) {
            if (orientation != 1) {
                Log.d("Sensor", "Landscape");
                // listImage.notifyDataSetChanged();
            }
            orientation = 1;
        } else {
            if (orientation != 0) {
                Log.d("Sensor", "Portrait");
                // listImage.notifyDataSetChanged();
            }
            orientation = 0;
        }
    }

但它的工作效果并不理想,我的手机状态是纵向的:如果倾斜一点后,价值回报是横向的。

最佳答案

试试这个…
getResources().getConfiguration()将返回Configuration

if(YourActivity.getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT)
{
    // Portrait Mode
} else {
    // Landscape Mode
}

编辑
Get phone orientation when locked into one orientation

10-06 07:57