android 弹窗in,Android监听程序处于INACTIVITY(未操作状态)时间并作出相应的操作
最近遇到一個需求,app五分鐘未操作需要返回到主頁面。一開始就想到去監聽onTouch和onClick事件,這個方法看似可行,但是實際操作起來還是很繁瑣的,一不小心就達不到需要的效果。然后就果斷放棄了。后來看api發現activity中有一個叫onUserInteraction()的方法,這個方法可謂是很吊的,我們先來看一下api上關于這個方法的說明。
第一句話已經說得非常明顯了,只要是activity有touch,click操作這個方法都會響應,關鍵是操作activity中的fragment時也會響應到該方法,真是爽爆炸有木有。
activity和fragment的操作我們是解決了,現在輪到一些彈窗的操作響應。拿dialog來舉例,當click或touchdialog的時候該方法并不會響應,而且在dialog類中也并未找到類似的方法(如果有請指出)。這就讓人很尷尬了,難道要在把dialog中的控件全都監聽上onTouch? 這樣肯定是要不得的。
上面說的太多了,以下給出自己的解決方案
1.首先定義一個全局的變量lastOperationTime來記錄上一次操作的時間
2.在baseactivity中來起一個線程來不斷地檢測程序未操作的時間,在onresume里面開啟線程
3.關于dialog的操作(項目中只用到了dialog這一種彈窗,popupwindow。。。請參照)
dialog實現了dismiss,onclick,ontouch方法,并在構造函數里面也做出了相應的處理,這樣幾乎囊括了dialog所有的操作。繼承該dialog時請使用父類提供的onClick,onTouch方法。
至此基本上就完工了,如有不足歡迎指正
總結
以上是生活随笔為你收集整理的android 弹窗in,Android监听程序处于INACTIVITY(未操作状态)时间并作出相应的操作的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: android onitemclickl
- 下一篇: android 视图覆盖,如何在Andr