实现特定时间无屏幕点击操作,执行的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()是在他的上一级执行的。