我正在使用 onShake 方法开始一项活动..每次我摇晃时,活动都会开始,但我希望活动仅在我第一次摇晃时开始......我在这里看到了类似的问题:使用 onShake 方法开始新活动..但不能从中得到太多..下面是我的代码
public class ShakeListenerTestActivity extends Activity
{
private ShakeListener mShaker;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
final Vibrator vibe = (Vibrator)getSystemService(Context.VIBRATOR_SERVICE);
mShaker = new ShakeListener(this);
mShaker.setOnShakeListener(new ShakeListener.OnShakeListener () {
public void onShake()
{
vibe.vibrate(100);
new AlertDialog.Builder(ShakeListenerTestActivity.this)
.setPositiveButton(android.R.string.ok, null)
.setMessage("Do stuff here!!")
.show();
}
});
@Override
public void onResume()
{
mShaker.resume();
super.onResume();
}
@Override
public void onPause()
{
mShaker.pause();
super.onPause();
}
}
在我的shakelistener 类中,我在pause() 方法中使用了unregisterListener。
public void pause() {
if (mSensorMgr != null) {
mSensorMgr.unregisterListener(this);
mSensorMgr = null;
}
}
我在这里缺少什么任何建议表示赞赏。