문제

I am COMPLETELY lost! To me, this code is perfect... But alas - no System.out's !??!

And yes, I DO have an accelerometer :)

public class MainActivity extends Activity implements SensorEventListener
{
private final static String CLASS_NAME = "(MainActivity)";
private SensorManager m_oSensorManager;
private Sensor m_oAccelerometer;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    m_oSensorManager = (SensorManager) getSystemService(SENSOR_SERVICE);

    m_oAccelerometer = m_oSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);

    m_oSensorManager.registerListener(this, m_oAccelerometer,SensorManager.SENSOR_DELAY_NORMAL);
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.main, menu);
    return true;
}

@Override
public void onAccuracyChanged(Sensor arg0, int arg1) {

}

@Override
public void onSensorChanged(SensorEvent arg0) {
    System.out.println(CLASS_NAME + " onSensorChanged()");
}

}

Ignore these lines..... Avoiding Stack Overflow filters.....

도움이 되었습니까?

해결책 2

The handler register calls must be in onResume(). I'm sure I tried that so it's either my phone messing up or my brain. But anyway, for others...

@Override
public void onResume()
{
    super.onResume();
    m_oSensorManager = (SensorManager) getSystemService(SENSOR_SERVICE);
    m_oAccelerometer = m_oSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
    m_oMagnetometer = m_oSensorManager.getDefaultSensor(Sensor.TYPE_MAGNETIC_FIELD);

    m_oSensorManager.registerListener(this, m_oAccelerometer,SensorManager.SENSOR_DELAY_NORMAL);
    m_oSensorManager.registerListener(this, m_oMagnetometer,SensorManager.SENSOR_DELAY_NORMAL);
}

@Override
public void onPause()
{
    super.onPause();
    m_oSensorManager.unregisterListener(this);
}

다른 팁

try

Log.i(CLASS_NAME, "onSensorChanged()");
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top