android程序运行无操作一段时间显示屏保

项目中遇见一个这样的需求,就是当软件在一定时间没有操作时候需要弹出广告页面,当点击广告页面时又进行软件操作,也就是广告要在软件打开并且处于未操作状态才会出来。

这个操作最好放到BaseActivity里进行。

private Handler handler = new Handler();

private long time=1000*60*5;//设置五分钟
@Override
public boolean onTouchEvent(MotionEvent event) {
    switch (event.getAction()) {
        case MotionEvent.ACTION_DOWN:
            handler.removeCallbacks(runnable);
            break;
        case MotionEvent.ACTION_UP:
            startAD();
            break;
    }
    return super.onTouchEvent(event);
}
private Runnable runnable = new Runnable() {
    @Override
    public void run() {
       //实现一段时间无操作时执行的事件
    }
};
public void startAD() {
    handler.removeCallbacks(runnable);
    handler.postDelayed(runnable, time);
}

还有一点就是执行这些操作手机最好不要息屏,在onCreate中加入

//防止手机息屏

getWindow().setFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON, WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);

结束完活。

posted @ 2018-05-15 13:43  雪糕派  阅读(498)  评论(1编辑  收藏  举报