2010-08-18 43 views
1
public void onSensorChanged(SensorEvent e) { 
    if (e.sensor.getType()==Sensor.TYPE_ACCELEROMETER) { 

     if(e.values[0] >= 8) 
      setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); 
     else 
      setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); 
    } 
} 

当该方法被称为setRequestedOrientation() - 错误。创建layout-land并在那里放置main.xml文件的副本。调用方法时出错setRequestedOrientation()

+0

什么错误,你能张贴堆栈跟踪? – 2010-08-18 17:58:35

+0

关闭应用程序 – user413881 2010-08-18 18:03:44

+0

启用您的logCat,您将看到异常的来源是什么。 – Jorgesys 2010-08-18 23:36:15

回答

0

尝试这种::

SensorManager sensorMgr; 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 
    sensorMgr = (SensorManager) getSystemService(SENSOR_SERVICE); 
    sensorMgr.registerListener(this, 
      SensorManager.SENSOR_ACCELEROMETER, 
      SensorManager.SENSOR_DELAY_GAME); 
} 


public void onSensorChanged(int sensor, float[] values){ 
    if (sensor==Sensor.TYPE_ACCELEROMETER) { 
     if(values[0] >= 8) 
      setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); 
     else 
      setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); 
    } 
} 
相关问题