如何在安卓中跟踪应用程序的使用时间?



我已经搜索了很长时间,但我无法解决这个问题。

我正在开发应用程序使用应用程序,我想让用户可以限制应用程序使用时间。

假设用户希望将 Youtube 应用程序的使用时间限制为 10 分钟。

1. 自用户点击按钮以来,当 Youtube 应用程序使用量达到 10 分钟时,如何发出通知或烤面包机?(我知道事件处理(

  1. 我可以让观察者甚至我的应用程序进入背景吗? 甚至在德特洛伊之后?

根据我的搜索注册AppUsageObserver 看起来像我想要的,但我不能使用它,因为它@hide

public void registerAppUsageObserver(int observerId, @NonNull String[] observedEntities,
long timeLimit, @NonNull TimeUnit timeUnit, @NonNull PendingIntent callbackIntent)

我可以尝试通过反射使用它,但我认为不推荐。

我还有一个很好的源链接,但我不知道如何使用它。

请帮帮我。谢谢。

我在这方面做了相当多的工作。我想引导你到我的smartCBT GitHub,它会在给定的时间段内审查一个人使用他们的应用程序的目的(https://github.com/kris-geyer/smartCBT;特别是,查看 https://github.com/kris-geyer/smartCBT/blob/master/app/src/main/java/kg/own/smartcbt/ViewModel/RetrieveUsageRecords.java(。

首先,我不会相信使用情况统计管理器。过去对我来说非常不可靠。我认为您要评估使用情况的是使用事件 (https://developer.android.com/reference/android/app/usage/UsageEvents.Event(。这些为您提供了更精细的Android应用程序使用情况说明,这似乎更加准确。您需要为此获得特别许可。实际上,我之前已经对准确性进行了实证测试,并且非常高。

对于您的应用程序所需的整体结构,我认为您需要一个在后台运行的前台服务,定期记录该人使用手机的目的。此数据库仅在应用程序更改时更新,因此处理此问题可能有点棘手,但您可以管理。

当应用确定为特定应用分配的使用时间量已过时,它可以通过从前台服务启动新活动将用户定向回你的应用。我不确定这是否仍然可能,android 权限似乎变化如此之快。真正酷的是,如果你能让应用程序播放用户的视频,告诉自己他们使用手机太多了,并且很有效率。

祝你好运。:)

相关内容

最新更新