0

アプリケーションを構築しようとしていますが、加速度計を使用する必要があります。Sensor Simulator では加速度計は問題なく動作していますが、apk を作成したところ、加速度計の出力が機能しませんでした。Samsung Exibit 4g XII を使用しており、このデバイスには加速度計が搭載されています

public class AcelerometerImp extends Activity implements SensorEventListener {

    StringBuilder builder;
    TextView textView;

    @Override
    public void onCreate(Bundle icicle) {
        super.onCreate(icicle);
        textView = new TextView(this);
        setContentView(textView);
        SensorManager manager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);
        textView.setText( (manager.getSensorList( Sensor.TYPE_ACCELEROMETER ).size() == 0) 
                ? "No hay acelerometro" : manager.getSensorList( Sensor.TYPE_ACCELEROMETER ).get(0).toString()  );
    }

    @Override
    public void onSensorChanged (SensorEvent event){
        builder.setLength(0);
        builder.append("x: " + event.values[0] + ", y: " + event.values[1] + ", z: " + event.values[2]);
        textView.setText(builder.toString());
    }

    @Override
    public void onAccuracyChanged (Sensor sensor, int accuracy){        
    }
}
4

1 に答える 1

1

リスナーに登録する必要があります。

@Override
protected void onResume()
{
    super.onResume();

    manager.registerListener(this, manager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER), 
                                    SensorManager.SENSOR_DELAY_NORMAL);
}  

@Override
protected void onPause()
{
    super.onPause();

    manager.unregisterListener(this);
}
于 2013-03-31T16:36:54.830 に答える