Android Lollipop知道app是否作为Usage Stats访问

前端之家收集整理的这篇文章主要介绍了Android Lollipop知道app是否作为Usage Stats访问前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
Android Lollipop以来,我们现在拥有一个用于访问应用使用统计信息的API.但是,您的应用必须由用户授予这些权限.

我知道使用Settings.ACTION_USAGE_ACCESS_SETTINGS将用户重定向到这些设置.

现在,我的问题是你如何知道用户授予你这些权限,以便你可以停止将他重定向到设置.

谢谢!

解决方法

您可以简单地查询每日间隔和结束时间当前时间的使用状态,如果没有返回任何内容,则表示用户未授予权限
@TargetApi(Build.VERSION_CODES.LOLLIPOP)
public boolean doIHavePermission(){


    final UsageStatsManager usageStatsManager = (UsageStatsManager) context.getSystemService(Context.USAGE_STATS_SERVICE);
    final List<UsageStats> queryUsageStats = usageStatsManager.queryUsageStats(UsageStatsManager.INTERVAL_DAILY,System.currentTimeMillis());

    return !queryUsageStats.isEmpty();
}

具有开始日期0和结束日期的每日间隔当前时间必须至少返回今天的使用情况.因此,仅当未授予权限时,它才会为空.

猜你在找的Android相关文章