我有首選項活動,它啓動了有關首選項更改的服務。 服務中我想檢測抖動動作。 這段代碼我有下面,當我在一個活動中使用它時工作正常,但是當我想在服務上使用它時,它只是不會工作,這是我在服務中如何使用我的shake detector代碼,我的代碼出了什麼問題?如何檢測在服務中晃動
public class back extends Service {
SensorManager mSensorManager;
ShakeEventListener mSensorListener;
@Override
public IBinder onBind(Intent arg0) {
// TODO Auto-generated method stub
return null;
}
@Override
public void onCreate() {
// TODO Auto-generated method stub
super.onCreate();
}
@Override
public void onStart(Intent intent, int startId) {
// TODO Auto-generated method stub
Toast.makeText(back.this, "Service Started", Toast.LENGTH_LONG).show();
mSensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);
mSensorListener = new ShakeEventListener();
mSensorListener.setOnShakeListener(new ShakeEventListener.OnShakeListener() {
public void onShake() {
Toast.makeText(back.this, "Shake!", Toast.LENGTH_SHORT).show();
}
});
}
protected void onResume() {
mSensorManager.registerListener(mSensorListener,
mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER),
SensorManager.SENSOR_DELAY_UI);
}
protected void onPause() {
mSensorManager.unregisterListener(mSensorListener);
}
@Override
public void onDestroy() {
// TODO Auto-generated method stub
super.onDestroy();
}
}
我「服務啓動」吐司,這意味着服務的開始,但我搖裝置後,我沒有看到「搖!」吐司。我該怎麼辦。 感謝提前。
ü解決您的問題? – Erum
@ErumHannan是的,但它太舊了,我現在不記得解決方案! –