gpt4 book ai didi

android - 确定 Android 应用程序(不是我的)可见多长时间

转载 作者:行者123 更新时间:2023-11-29 14:16:06 26 4
gpt4 key购买 nike

我正在编写一个应用程序,它需要知道任何给定应用程序对用户可见多长时间。

当应用程序打开并且用户不再可见时(onStop()),我的服务是否可以接收任何系统范围的事件?还是我必须求助于定期轮询 ActivityManager?

应用程序 Tasker( http://tasker.dinglisch.net ) 似乎能够检测到任何给定应用程序何时可见/不可见。他们是简单地轮询 ActivityManager,还是有一些其他的方式来解决这个问题?

引用:
Time that an application is running
How to know for how much long the application is running in android?

最佳答案

您可以通过以下方式检测您的应用是否可见:

在你所有的 Activity 中,设置:

@Override
protected void onResume() {
super.onResume();

VisibilityManager.setIsVisible(true);
}

@Override
protected void onPause() {
VisibilityManager.setIsVisible(false);

super.onPause();
}

(这可能会导致您为所有将实现此行为的 Activity 定义一个父类(super class))

然后创建一个 VisibilityManager(这是非常基础的,您可能需要更高级的东西):

public class VisibilityManager {
private boolean mIsVisible = false;

public void setIsVisible(boolean visible) {
mIsVisible = visible;
}

public boolean getIsVisible() {
return mIsVisible;
}
}

然后,在您的计时器线程中,当倒计时达到零时,您可以终止应用程序:

if (VisibilityManager.getIsVisible()) {
finish();
}
else {
showNotification();
}

关于android - 确定 Android 应用程序(不是我的)可见多长时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11054599/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com