我正在尝试使用UsageStats来获取android中的统计信息,但它返回我的列表大小为ZERO。我正在使用API 23.
val statsManager = getSystemService(Context.USAGE_STATS_SERVICE) as UsageStatsManager
var list : MutableList<UsageStats>
//Check if API is 21
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.LOLLIPOP)
{
val cal = Calendar.getInstance()
cal.add(Calendar.YEAR, -1)
list = statsManager.queryUsageStats(UsageStatsManager.INTERVAL_DAILY, cal.getTimeInMillis(), System.currentTimeMillis())
}
Log.d("DetailActivity","------"+list.size)
我看不出问题出在哪里。你能帮忙吗?
答案 0 :(得分:0)
您的代码是正确的,但首先您需要在清单中添加以下持久性内容:
<uses-permission android:name="android.permission.PACKAGE_USAGE_STATS"/>
然后确保用户通过发送此Intent来授予权限:
startActivity(Intent(Settings.ACTION_USAGE_ACCESS_SETTINGS));
然后,只有您将被授予对UsageStatsManager的访问权。
您可以在this post
中找到更多信息