onShakeメソッドを使って新しいアクティビティを始めたいです。すべて問題ありませんが、新しいアクティビティが開始されると、onShake コマンドは引き続き使用できます (電話を 5 回振ると、新しいアクティビティが 5 回開始されます)。電話を振って新しいアクティビティを 1 回だけ開始するにはどうすればよいですか? これが私のコードです。
public class ACTIVITY extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
SensorManager mSensorManager;
ShakeEvent mSensorListener;
mSensorListener = new ShakeEvent();
mSensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);
mSensorManager.registerListener(mSensorListener,
mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER),
SensorManager.SENSOR_DELAY_UI);
mSensorListener.setOnShakeListener(new ShakeEvent.OnShakeListener() {
public void onShake() {
Intent i = new Intent(Shake.this, NEWACTIVITY.class);
startActivity(i);
}
});
}}
下手な英語ですみません。ご協力ありがとう御座います。