0

アプリケーションに Shake Event リスナーを実装しました。onShake はいくつかのロジックを実行します。ユーザーが電話を振るのをやめた後にダイアログを表示したい。このロジックをどこに実装する必要がありますか? onShake 自体で実行すると、複数のダイアログが表示されます。誰かが私を助けることができますか?

ありがとうジャイ

4

1 に答える 1

0

だから、あなたの問題について考えて、私は当初、イベントの「抵抗」を作成するためにリスナーの定数値(MIN_FORCE、MIN_TIME ...など)を「微調整」することを検討していたので、過度に発生しません. それから、もっと良い解決策があるので、それはばかげた考えだと気づきました...シェイクイベントが発生したときにイベントハンドラーをバインド解除し、ユーザーがダイアログを閉じたときに再度バインドします。これを行うには、 onResume および onPause メソッドに使用した回答で提供されているのと同じコードを使用します。

これでリスナーをバインドします。

    mSensorManager.registerListener(mSensorListener,
    mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER),
    SensorManager.SENSOR_DELAY_UI);

そしてこれをバインド解除します:

mSensorManager.unregisterListener(mSensorListener);
于 2012-04-04T13:52:24.857 に答える