以下代码在 6.0 版之前运行良好
if(Build.VERSION.SDK_INT > Build.VERSION_CODES.LOLLIPOP) {
UsageStatsManager mUsageStatsManager = (UsageStatsManager) getSystemService(Context.USAGE_STATS_SERVICE);
long currentTime = System.currentTimeMillis();
List<UsageStats> stats = mUsageStatsManager.queryUsageStats(UsageStatsManager.INTERVAL_DAILY, currentTime - 100 * 1000, currentTime);
if(stats != null) {
long lastUsedAppTime = 0;
for (UsageStats usageStats : stats) {
if (usageStats.getLastTimeUsed() > lastUsedAppTime) {
String foregroundApp = usageStats.getPackageName();
lastUsedAppTime = usageStats.getLastTimeUsed();
}
}
}
}
现在 queryUsageStats 返回空列表。
有没有其他方法可以获取前台应用程序?
注意:添加了以下权限以检索usagestats
<uses-permission xmlns:tools="http://schemas.android.com/tools"
android:name="android.permission.PACKAGE_USAGE_STATS"
tools:ignore="ProtectedPermissions" />
提前致谢。