0
画面をタッチしなかった場合、または非アクティブのままにしておきたい場合は、何かしたい(関数呼び出し)。 これをAndroidでどのように達成できますか?画面がタッチされなかったり、特定の時間間隔で非アクティブのままだった場合は、何かをしてください。
提案があります。
画面をタッチしなかった場合、または非アクティブのままにしておきたい場合は、何かしたい(関数呼び出し)。 これをAndroidでどのように達成できますか?画面がタッチされなかったり、特定の時間間隔で非アクティブのままだった場合は、何かをしてください。
提案があります。
あなたはonResume()
方法でUIスレッドのハンドラに遅れてメッセージを送信することができます
handler.sendEmptyMessageDelayed(SCREEN_INACTIVE_MSG, DELAY_MILIS);
を次に、onTouchEventでメッセージを削除し、再度挿入します。あなたのハンドラで
handler.removeMessages(SCREEN_INACTIVE_MSG);
handler.sendEmptyMessageDelayed(SCREEN_INACTIVE_MSG, DELAY_MILIS);
を、 handleMessage()
メソッドをオーバーライドしてメッセージを処理します。
public void handleMessage (Message msg) {
switch(msg.what) {
case SCREEN_INACTIVE_MSG:
handleIdleScreenMetohd();
break;
}
}
また、onPause()
のハンドラからメッセージを削除します。
これは、あなたのアクティビティが全期間アクティブであることを前提としています(一時停止していないなど)。あなたのアプリの外で画面の非アクティブを処理することは不可能と思われます。