亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

檢查應用程序被聚焦的時間有多久

檢查應用程序被聚焦的時間有多久

蝴蝶不菲 2023-07-19 14:52:41
我想檢查應用程序最小化了多長時間,onWindowFocusChanged(boolean hasFocus)但不知道如何。這就是我嘗試過的。private long startTime = 0;@Override    public void onWindowFocusChanged(boolean hasFocus) {        super.onWindowFocusChanged(hasFocus);        if(hasFocus){            long time = System.currentTimeMillis() - starTime;            //300.000 ms = 5 min            if(time > startTime + 300000)            {                Intent intent = new Intent(this, LoginActivity.class);                startActivity(intent);            }        }        else        {            starTime = System.currentTimeMillis();        }    }我希望它在失去焦點時開始計數。然后當它再次獲得焦點時,它應該檢查是否超過 5 分鐘。如果為 false:重置計時器/不執行任何操作如果為 true:加載登錄活動。
查看完整描述

1 回答

?
慕蓋茨4494581

TA貢獻1850條經驗 獲得超11個贊

為了避免出現問題,首先要設置startTimeinonCreate方法的初始值:


    @Override

    public void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        startTime = System.currentTimeMillis();

    }

然后將您的變量重命名long time為long timeDifference,當名稱更具描述性時,您會看到您的條件已損壞,因此您的:


 if(timeDifference > startTime + 300000)

使用以下內容就足夠了:


 if(timeDifference > 300000)

請記住,您可以使用調試來逐步分析每個變量的當前狀態。


查看完整回答
反對 回復 2023-07-19
  • 1 回答
  • 0 關注
  • 91 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號