android怎样判断用户5秒内无操作?
1个回答
推荐于2019-08-11 · 知道合伙人软件行家
关注
展开全部
可以通过Handler发送延迟消息来实现判断有无操作,实现原理就是,给Activity注册OnTouch事件,当用户触摸屏幕,手指离开的时候发送一个延迟消息。
以下为实现步骤及代码:
1.创建Handler实例
Handler handler = new Handler(){
public void handlerMessage(Message msg){
}
};
2.创建一个Runnable
private Runnable runnable = new Runnable() {
@Override
public void run() {
//用户5秒没操作了
}
};
3.给Activity注册Touch事件
public boolean onTouchEvent(android.view.MotionEvent event) {
switch(event.getAction()){
case MotionEvent.ACTION_DOWN:{ //手指下来的时候,取消之前绑定的Runnable
handler.removeCallbacks(runnable);
break;
}
case MotionEvent.ACTION_UP:{ //手指离开屏幕,发送延迟消息 ,5秒后执行
handler.sendEmptyMessageDelayed(0, 1000 * 5);
break;
}
}
return super.onTouchEvent(event);
};
以下为实现步骤及代码:
1.创建Handler实例
Handler handler = new Handler(){
public void handlerMessage(Message msg){
}
};
2.创建一个Runnable
private Runnable runnable = new Runnable() {
@Override
public void run() {
//用户5秒没操作了
}
};
3.给Activity注册Touch事件
public boolean onTouchEvent(android.view.MotionEvent event) {
switch(event.getAction()){
case MotionEvent.ACTION_DOWN:{ //手指下来的时候,取消之前绑定的Runnable
handler.removeCallbacks(runnable);
break;
}
case MotionEvent.ACTION_UP:{ //手指离开屏幕,发送延迟消息 ,5秒后执行
handler.sendEmptyMessageDelayed(0, 1000 * 5);
break;
}
}
return super.onTouchEvent(event);
};
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |