iT邦幫忙

0

Android 程式後台計時

各為先進前輩們好:
小弟想請教個問題,我先敘說情境(類似手機鎖的概念)

當 Android的某個APP讓他處於背景的狀態(已有做CPU保持喚醒的功能)的情況之下,

去計算程式處於背景的狀態的時間 跟 被喚醒到前台的時候中間間隔了多久,

如果超過設定的時間被喚醒之後還需要去執行某的Class來做處理 else 就finish。

小弟遇到的問題是說:

如何去監控該程式處於背景的時間?有關鍵字可以提供查詢 或是 有DEMO可以參考



在此先感謝各位願意提供解答的各位先進前輩們<(_ _)>
ant1017 iT邦新手 2 級 ‧ 2019-10-02 14:30:19 檢舉
試試這兩個getRunningTasks、getRunningServices
天嶽 iT邦新手 5 級 ‧ 2019-10-02 14:44:00 檢舉
感謝您的回覆,getRunningTasks & getRunningServices 這二個已被停用,但有找到其他替代方案,感謝您提供的方法跟方向<(_ _)>
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

2 個回答

0
舜~
iT邦高手 1 級 ‧ 2019-10-02 14:39:41

我記得android的service可以在後台保持運行,
寫個service去監控主要程式呢?

天嶽 iT邦新手 5 級 ‧ 2019-10-02 14:47:50 檢舉

是的,有讓程式在後台時保持CPU繼續運作。
小弟的想法就是這樣在Service裡面去監控,但比較尷尬的是不知道要如何去監控當程式處於背景到被喚醒的這段時間。
感謝您的提供<(_ _)>

0
海綿寶寶
iT邦大神 1 級 ‧ 2019-10-02 15:34:49

如果你的意思是「手動喚醒」並計算「間隔時間」的話
那我建議的做法很簡單
進入背景時將系統時間記錄下來(記在SystemPreference之類的)
回到前景時再取出記錄與系統時間比對即可得到「間隔時間」

如果你的意思是「超過時間間隔」就「自動喚醒」的話
那就算我沒說
/images/emoticon/emoticon06.gif

天嶽 iT邦新手 5 級 ‧ 2019-10-02 15:49:39 檢舉

感謝 @海綿寶寶 抱歉我文內並沒有寫到[手動喚醒]這句
非常感謝你的建議,這個方法我立刻去查找相關資料
再次感謝你<(_ _)>

補充:是SharedPreferences

我要發表回答

立即登入回答