Android 监听一个App的运行时间够不够三分钟

时间:2021-08-02 08:52:33
private Handler handler;
private int MSG_HANDLER = 0;
private MyThread myThread;
private int time = 0;

 
 
 
myThread = new MyThread();
myThread.start();

handler = new Handler() {
    @Override
    public void handleMessage(Message msg) {
        if (msg.what == MSG_HANDLER) {
            text.setText("已经3分钟");
        }
    }
};

 
 
private class MyThread extends Thread {
    @Override
    public void run() {
        super.run();
        while (!isAppRunning) {
            check();
            try {
                Thread.sleep(100);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }
    }

}

private void check() {
    ActivityManager am = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
    List<ActivityManager.RunningTaskInfo> list = am.getRunningTasks(100);
    String topname = list.get(0).topActivity.getPackageName();
    Log.e("MainActivity","topname:"+topname);
    if (topname.equals(MY_PKG_NAME)) {
        time++;
        Log.e("MainActivity", "time:" + time);
    }
    if (time == 180) {
        isAppRunning = true;
        handler.sendEmptyMessage(MSG_HANDLER);
    }
    Log.e("MainActivity", "isAppRunning:" + isAppRunning);
}