国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

java - 安卓實現熄屏功能。

瀏覽:85日期:2024-01-09 11:28:17

問題描述

在APP中定義一個時間(假設為5分鐘),記錄兩次操作APP之間的時間間隔,如果大于之前定義的時間,則APP端實現發出命令,手機屏幕熄滅。該功能要如何實現?

問題解答

回答1:

第一點是鎖屏這個功能吧,可以參考:https://github.com/chniccs/Lo...這個小項目就是鎖屏功能的實現,代碼量很少。

另外一點就是看你怎么定義每次操作,這里將把一個activity顯示到前臺當作一次操作,你也可以重寫觸摸監聽去定義一些觸摸操作為一次操作。1、寫個BaseActivity,在onResume(這里用這個代表一次操作)中發出一個延時消息(廣播或者其它handler),并記錄當前時間(存儲在自定義Application中或者一個全局單例或者持久化存儲)2、根據前面發送延時消息的方式,如廣播,在收到發出的廣播消息后,取當前時間值與 1 步中記錄的時間值進行比較,如果小于定義的時間值,則再次取兩次時間值(存儲的與當前的)的差值作為延時再發出一個廣播。當下次再收到廣播時,再進行判斷,如果大于等于時間值,就調用鎖屏。

說明:第 2 步中為什么要取差值而不是重新發一個固定延時的廣播,這是因為在第一次發送廣播后,可能你會進行一些操作,這些操作就后續的,也就是說當你收到延時廣播時,最后一次操作的時間并不是發送廣播時記錄的時間,而是真實最后一次操作的時間。所以在每次操作后都需要對記錄的時間值進行更新操作。

差值計算:定義的無操作固定最大時間 - (當前時間 - 最后一次操作時間)

回答2:

采用Handler的postDelayed(Runnable, long)方法1.定義一個Handler類

Handler handler=new Handler(); Runnable runnable=new Runnable() { @Override public void run() { // TODO Auto-generated method stub //要做的事情 handler.postDelayed(this, 2000); } };

2.啟動計時器

handler.postDelayed(runnable, 2000);

3.停止計時器

handler.removeCallbacks(runnable);

大概就是這么一個路數吧,時間自己決定咯

標簽: java
相關文章:
主站蜘蛛池模板: 国产玖玖在线 | 九九久久免费视频 | 中文字幕欧美在线观看 | 亚洲欧美精品久久 | free性欧美hd另类精品 | 国产成人亚洲综合一区 | 国内外成人免费视频 | 日本韩国欧美在线观看 | 手机看片久久国产免费不卡 | 国产盗摄精品一区二区三区 | 国产精品免费aⅴ片在线观看 | 欧美日韩大片 | 奇米四色综合久久天天爱 | 国产美女视频网站 | 老外黑人欧美一级毛片 | 色九| 精品在线观看视频 | 国产成人精品日本亚洲语音1 | 国产一级做a爱片久久毛片a | 欧美一区二区在线免费观看 | 国产三级网 | 欧美一级欧美一级在线播放 | 久久综合久美利坚合众国 | 久热精品男人的天堂在线视频 | 欧美成人在线免费观看 | 综合自拍 | 成 人 动漫在线观看网站网站 | 欧美不卡视频在线观看 | 最新欧美精品一区二区三区不卡 | 亚洲精品一区最新 | 狠狠色综合久久丁香婷婷 | 国产高清在线精品免费 | 国产精品分类视频分类一区 | 日韩在线二区全免费 | 91久久夜色精品国产网站 | 免费三级网 | 国产男女爽爽爽爽爽免费视频 | 在线播放亚洲美女视频网站 | 日本一线一区二区三区免费视频 | 国产一级毛片亚洲久留木玲 | 欧美高清一区二区三区欧美 |