Foros del Web » Programando para Internet » Android »

Problemas con context y registro de acelerometro

Estas en el tema de Problemas con context y registro de acelerometro en el foro de Android en Foros del Web. Hola, pues verán estoy queriendo implementar el acelerometro en una aplicación que estoy desarrollando, el problema es que al momento de registrarlo me arruina todo ...
  #1 (permalink)  
Antiguo 06/01/2012, 19:24
Avatar de uziel5  
Fecha de Ingreso: mayo-2011
Mensajes: 23
Antigüedad: 13 años, 6 meses
Puntos: 1
Problemas con context y registro de acelerometro

Hola, pues verán estoy queriendo implementar el acelerometro en una aplicación que estoy desarrollando, el problema es que al momento de registrarlo me arruina todo el proyecto y no veo cual sea el problema. Ahora les explico:

Tengo la siguiente clase PRINCIPAL:

Código:
Public class Main extends Juego{

//Algun metodo

}
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:

Código:

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

}
La siguiente clase hace de intermediaria:

Código:
public class InputJuego extends Input{
     
     Accelerometro acelerometro;
     //mas codigo

     public InputJuego(Context context){
          acelerometro = new Acelerometro(context);
          //mas codigo
     }

     //mas codigo

}
Y ahora si la clase buena, que se encarga de registrarme el acelerometro:

Código:
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
	}
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.

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
  #2 (permalink)  
Antiguo 08/01/2012, 01:30
4ng3r
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Problemas con context y registro de acelerometro

el servicio ya tiene el permiso en el AndroidManifest.xml ??
  #3 (permalink)  
Antiguo 08/01/2012, 13:43
Avatar de uziel5  
Fecha de Ingreso: mayo-2011
Mensajes: 23
Antigüedad: 13 años, 6 meses
Puntos: 1
Respuesta: Problemas con context y registro de acelerometro

¿No sabía que para acceder al sensor necesitaba un permiso, alguien sabe cual es?

Etiquetas: activity, context, emulador, proyecto, registro, todo
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:46.