Tengo la siguiente clase PRINCIPAL:
Código:
Como verán mi clase está heredando de la super clase juego que a su vez hereda de Activity y es donde mando el contexto a mi clase que maneja las entradas del usuario:Public class Main extends Juego{ //Algun metodo }
Código:
La siguiente clase hace de intermediaria:public abstract class Juego extends Activity implements AndroidJuego{ Input input; @Override public void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState); //mas codigo input = new InputJuego(this); //mas codigo } //mas codigo }
Código:
Y ahora si la clase buena, que se encarga de registrarme el acelerometro:public class InputJuego extends Input{ Accelerometro acelerometro; //mas codigo public InputJuego(Context context){ acelerometro = new Acelerometro(context); //mas codigo } //mas codigo }
Código:
La linea del problema es la que se encuentra en negritas, por alguna razón no estoy obteniendo correctamente el SensorManager, lo curioso es que si lo corro desde el emulador de android se me traba la aplicación y si lo hago desde mi Galaxy Ace solo me tira error de registro de acelerometro en el logcat.public class Acelerometro implements SensorEventListener{ public Acelerometro(Context context){ SensorManager manager = (SensorManager) context.getSystemService(Context.SENSOR_SERVICE); if(manager.getSensorList(Sensor.TYPE_ACCELEROMETER).size() > 0){ Sensor acelerometro = manager.getSensorList(Sensor.TYPE_ACCELEROMETER).get(0); if(!manager.registerListener(this, acelerometro, SensorManager.SENSOR_DELAY_GAME)) Log.d("AccelerometerHandler", "No se ha podido registrar el acelerometro"); }else{ Log.d("AcelerometerHandler", "El dispositivo no cuenta con acelerometro"); } } } @Override public void onAccuracyChanged(Sensor sensor, int accuracy) { } @Override public void onSensorChanged(SensorEvent event) { //mas código }
Por cierto, las clases que he puesto contienen mucho mas código, solo he puesto lo que he creído necesario, si alguien necesita mas información solo pídanmelo y yo se los pongo.
Espero que alguien me pueda ayudar.
Saludos