0

1 つの問題に直面していますが、解決策が見つかりません。

私のアプリケーションには PIN コードがあり、ユーザーからのアクションなしで 2 分後に検証を解除したいと考えています。たとえば、ユーザーが PIN を確認し、電話をテーブルの上に置いたままにして (アプリケーションを実行したまま)、2 分後に PIN の確認を解除したいとします。

問題は、ユーザー アクティビティをスキャンする方法です (画面またはボタンの任意の場所をタッチすることを意味します)。もちろん、アクティブなコンポーネント (ボタンなど) のタッチをスキャンできますが、画面上の任意の場所でタッチをスキャンしてタイマーをリセットすることもできます。

それを行う方法はありますか?

どうもありがとう!

4

2 に答える 2

1

アクティビティのメインレイアウトのonTouchEventをオーバーライドして、表示可能領域全体(画面全体に表示されるはずです)内のタッチジェスチャを検出できます。super.onTouchEventを返すことを忘れないでください。これにより、他のアクティブなコンポーネントが個別にタッチされたときにイベントを消費できるようになります。

于 2011-12-14T15:32:13.103 に答える
1

アクティビティ メソッドonUserInteraction()をオーバーライドする

@overide
public void onUserInteraction() {
    //reset you timer here
     super.onUserInteraction();     
}
于 2012-05-17T13:05:54.750 に答える