我使用此链接http://blog.androgames.net/85/android-accelerometer-tutorial/来创建加速度计。但我希望这个加速度计在后台工作。所以我改变了这样的代码:
public class Accelerometer extends Service implements AccelerometerListener{
private static Context CONTEXT;
@Override
public IBinder onBind(Intent intent) {
// TODO Put your code here
return null;
}
@Override
public void onCreate() {
System.out.println(”start listening”);
// if (AccelerometerManager.isSupported()) {
AccelerometerManager.startListening(this);
// }
}
@Override
public void onDestroy() {
System.out.println(”start listening”);
// if (AccelerometerManager.isListening()) {
AccelerometerManager.stopListening();
// }
}
public static Context getContext() {
return CONTEXT;
}
/**
* onShake callback
*/
public void onShake(float force) {
Toast.makeText(this, “close” + force, 1000).show();
}
/**
* onAccelerationChanged callback
*/
public void onAccelerationChanged(float x, float y, float z) {
System.out.println(”x = “+x+” y = “+y+” z = “+z);
}
}
我得到了这个错误:
Java.lang.runtimeexception : Unable to create service com.tam.Accelerometer: java.lang.NullPointerException
Caused by: java;lang.NullPointerException
任何人都可以帮助我吗?
答案 0 :(得分:2)
您需要将CONTEXT值指定为
CONTEXT = Accelerometer.this;
onCreate()
方法中的
答案 1 :(得分:0)
Android Accelerometer Sensor 如果是你,你已经发布了它并得到了答案?您需要设置CONTEXT
this.getApplicationContext()