实现特定时间无屏幕点击操作,执行的activity跳转

public abstract class ScreenSave extends Activity {

    // public abstract void getTime();
    public int count = 0;
    public TimerTask task1;
    private final Timer timer1 = new Timer();

    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        TimeScreen();
    }

    public void TimeScreen() {

        task1 = new TimerTask() {
            @Override
            public void run() {
                count = count + 1;
                Message message = new Message();
                message.what = 1;
                handler.sendMessage(message);

            }
        };
        timer1.schedule(task1, 10000000, 100000000);

    }

    Handler handler = new Handler() {
        @Override
        public void handleMessage(Message msg) {
            // TODO Auto-generated method stub

            if (count == 10) {
                updateFlag();
            }
            super.handleMessage(msg);
        }

    };

    public void onUserInteraction() {
        count = 0;
        System.out.println("onUserInteraction>>>>>>>>>>>>>");

    }

    public void updateFlag() {
        ActivityManager am = (ActivityManager) getSystemService(ACTIVITY_SERVICE);
        ComponentName cn = am.getRunningTasks(1).get(0).topActivity;
        System.out.println("activity_name>>>>>>>>>>>>>" + cn.getClassName());
        Intent intent = new Intent(this, MainVideo.class);
        intent.putExtra("activity_name", cn.getClassName());
        startActivity(intent);
    }
}

前面权限里面获取activity栈内的activity已经加过了们这里就不加了

需要注意的是

public void onUserInteraction() {
  count = 0;
  System.out.println("onUserInteraction>>>>>>>>>>>>>");

 }

这个事触屏调用的方法,我开始用ontouchevent()但是后来发现我点击屏幕上的控件时,响应了控件的监听事件,屏蔽了ontouchevent();onUserInteraction()是在他的上一级执行的。

posted @ 2012-09-24 10:58  神仙都是我自己  阅读(190)  评论(0编辑  收藏  举报