Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to avoid Android getSystemService(Context.SENSOR_SERVICE) hanging emulator?

Whenever I call this method in the Android emulator:

SensorManager sensorManager = (SensorManager)getSystemService(Context.SENSOR_SERVICE);

The emulator hangs. When searching for this problem, I find a lot of references of this being fixed back in 2009, but I'm currently using the latest SDK/Tools available at the current time (Dec 2011). API level 8 / v2.2.

Must I really implement code for checking if I run in the emulator and avoid all sensor based code?

like image 659
Magnus Johansson Avatar asked Dec 24 '11 20:12

Magnus Johansson


2 Answers

I experienced something similar with API7 in the emulator: the mentioned code causes the emulator to quit the program immediatly without any warning or log message. (API4 & API10 are ok; I did not test API8 specifically).

I have solved it by setting accelerometer to false in the AVD settings. (I tried this because of issues with the accelerometer in API14/API15 with launch from snapshot.)

Regards,

Arjan

like image 118
Arjan Mels Avatar answered Nov 15 '22 20:11

Arjan Mels


I had the same issue with SDK r16 (Dec 2011), turning off accelerometer and magnetic field did not help.

So finally I recreated AVD and turned off 3 things in avd properties: Accelerometer, Magnetic field and Orientation. Now it works good.

like image 37
Osman-pasha Avatar answered Nov 15 '22 19:11

Osman-pasha