亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

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

java - 安卓實現熄屏功能。

瀏覽:114日期: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
相關文章:
主站蜘蛛池模板: bunker国产videos| 欧美一区二区三区东南亚 | 亚洲成a人片在线观看中 | 99re免费| 久久久久久久亚洲精品一区 | 成人国产精品一级毛片视频 | 欧美性生活视频播放 | 亚洲福利一区二区三区 | 免费影院入口地址大全 | 优女视频免费观看 | 美女被网站免费看九色视频 | 在线观看免费精品国产 | 久久草草| 亚洲高清heyzo加勒比 | 国产精品嫩草视频永久网址 | 亚洲区欧美中文字幕久久 | 亚色综合 | 亚洲高清日韩精品第一区 | 五月天丁香婷婷网 | 毛片视频大全 | 国内成人啪啪网站 | 日本不卡高清中文字幕免费 | 国产精品三级在线播放 | 成人开心激情 | 免费中文字幕一级毛片 | 亚洲va老文色欧美黄大片人人 | 中文字幕日韩高清 | 18日本xxxxxxⅹxx96 | 欧美另类亚洲 | 日韩中文字幕精品久久 | 1000日本xxxxxxxxx25 | 亚洲综合图片人成综合网 | 日本高清免费不卡毛片 | 麻豆影视在线 | 日韩在线一区视频 | 国内真实下药迷j在线观看 国内主播大秀福利视频在线看 | 黄色视屏免费看 | 嗯 用劲 好爽 好深 免费视频 | 国产大片一区 | 嫩草视频在线观看 | 青青免费视频在线 |