我试图通过在我的activity中调用UsageStatsManager.getAppStandbyBucket()来访问我的应用程序当前所在的备用存储桶,但getAppStandbyBucket()方法未解析。docs说该方法是公共的。我已经确保了编译28和targetsdk都设置为28。我的构建工具也是最新的。
编辑:不重复。我需要访问应用程序才能获得UsageStatsManager -请参阅下面的答案
发布于 2019-03-30 21:19:15
这是为我工作的代码。如果你在一个活动之外,这是你需要的代码。
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)
}https://stackoverflow.com/questions/55418158
复制相似问题