Android关于界面一定时间无操作自动跳转到指定界面的实现
2017-06-06 16:31
531 查看
最近在做一个售货机的项目,当界面停留一定时间无操作需要自动跳转到主页播放宣传广告。下面把我实现的方式贴出来,经测试完美地实现所需功能。
主要用到的功能,自定义一个定时器CountTimer继承CountDownTimer。
方法很简单,只需要在onFinish()方法中执行计时完毕的操作。
接下来在需要在执行的类里调用该方法。
这里我封装了一个类。
到此主要实现方法已经完成,最后只需要在实现的activity继承该类就行了。
主要用到的功能,自定义一个定时器CountTimer继承CountDownTimer。
public class CountTimer extends CountDownTimer { private Context context; /** * 参数 millisInFuture 倒计时总时间(如60S,120s等) * 参数 countDownInterval 渐变时间(每次倒计1s) */ public CountTimer(long millisInFuture, long countDownInterval,Context context) { super(millisInFuture, countDownInterval); this.context=context; } // 计时完毕时触发 @Override public void onFinish() { UIHelper.showMainActivity((Activity) context); } // 计时过程显示 @Override public void onTick(long millisUntilFinished) { } }
方法很简单,只需要在onFinish()方法中执行计时完毕的操作。
接下来在需要在执行的类里调用该方法。
这里我封装了一个类。
public class BaseDispatchTouchActivity extends AppCompatActivity{ private CountTimer countTimerView; @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); init(); } private void timeStart(){ new Handler(getMainLooper()).post(new Runnable() { @Override public void run() { countTimerView.start(); } }); } private void init() { //初始化CountTimer,设置倒计时为2分钟。 countTimerView=new CountTimer(120000,1000,BaseDispatchTouchActivity.this); } /** * 主要的方法,重写dispatchTouchEvent * @param ev * @return */ @Override public boolean dispatchTouchEvent(MotionEvent ev) { switch (ev.getAction()){ //获取触摸动作,如果ACTION_UP,计时开始。 case MotionEvent.ACTION_UP: countTimerView.start(); break; //否则其他动作计时取消 default:countTimerView.cancel(); break; } return super.dispatchTouchEvent(ev); } @Override protected void onPause() { super.onPause(); countTimerView.cancel(); } @Override protected void onResume() { super.onResume(); timeStart(); } }
到此主要实现方法已经完成,最后只需要在实现的activity继承该类就行了。
相关文章推荐
- Android关于界面一定时间无操作自动跳转到指定界面的实现
- android中如何实现进入一个界面不做任何动作过10秒钟(有操作从新计时)自动跳转到待机activity,点击待机界面回到原来的界面
- //四舍五入//得到倒序//比较字符串//拦截时间,实现超时锁屏//判断是否越狱//配置PodFile//Storyboard中跳转操作//处理不可逆的push界面操作
- Android——Timer TimerTask定时任务实现App界面欢迎页 自动跳转
- 黄聪:PHP如何实现延迟一定时间后自动刷新当前页面、自动跳转header("refresh:1;url={$url}");
- Android实现欢迎界面的自动跳转
- s实现指定时间自动跳转到某个页面
- 百度高度js 检测web页面是否正在操作,如超过规定时间内未操作将自动跳转至指定页面。
- 页面在一定时间不操作就自动跳转到另一个页面
- Android——实现欢迎界面的自动跳转(转)
- Android中实现固定时间自动跳转的几种方式
- 页面鼠标键盘在一定时间内无操作自动跳转(或者执行相应的业务)
- js 检测web页面是否正在操作,如超过规定时间内未操作将自动跳转至指定页面。
- 利用winexit实现用户无操作一定时间后自动强制注销
- android中如何实现进入一个界面不做任何动作过10秒钟自动跳转到其他activity?
- android中如何实现进入一个界面不做任何动作过10秒钟自动跳转到其他activity?
- Android实现欢迎界面的自动跳转
- Android 记住密码和自动登录界面的实现(SharedPreferences 的用法)
- Android中关于跳转Activity后焦点聚在EditView后自动弹出虚拟键盘问题
- 关于Excel操作编写的一个软件设计构思案例[连载] --如何实现从字符串中提取需要的字符并赋值给指定单元格内