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


