UsageStatsManager.getAppStandbyBucket():未解决的方法[重复]

问题描述 投票:0回答:1

这个问题在这里已有答案:

我正在尝试通过在我的活动中调用UsageStatsManager.getAppStandbyBucket()来访问我的应用程序当前所在的备用存储桶,但getAppStandbyBucket()方法尚未解决。 docs说这种方法是公开的。我确保我的compilesdk和targetsdk都设置为28.我的buildtools也是最新的。

编辑:这不重复。我需要访问应用程序才能获得UsageStatsManager - 请参阅下面的答案

android android-8.0-oreo androidq
1个回答
0
投票

这是适合我的代码。如果您不在活动中,这是您需要的代码。

private fun getStandByBucketIfAvailable(): Int {
    return if (Build.VERSION.SDK_INT >= 28) {
        getStandByBucket()
    } else {
        0
    }
}

@RequiresApi(Build.VERSION_CODES.P)
private fun getStandByBucket(): Int {
    val usageStatsManager = application.getSystemService(USAGE_STATS_SERVICE) as UsageStatsManager
    return usageStatsManager.appStandbyBucket
}

如果您正在参加活动,那么您需要的就是这个

  if (Build.VERSION.SDK_INT >= 28) {
            val usageStatsManager = getSystemService(USAGE_STATS_SERVICE) as UsageStatsManager
            Log.d(TAG, "getAppStandbyBucket():" + usageStatsManager.appStandbyBucket)
}
© www.soinside.com 2019 - 2024. All rights reserved.