2010-08-18 62 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); 
    } 
} 
相關問題