解决方法1:Is there an alternative for getRunningTask API

String getTopPackage(){long ts = System.currentTimeMillis();UsageStatsManager mUsageStatsManager = (UsageStatsManager)getSystemService("usagestats");List<UsageStats> usageStats = mUsageStatsManager.queryUsageStats(UsageStatsManager.INTERVAL_BEST, ts-1000, ts);if (usageStats == null || usageStats.size() == 0) {return NONE_PKG;}Collections.sort(usageStats, mRecentComp);return usageStats.get(0).getPackageName();
}
static class RecentUseComparator implements Comparator<UsageStats> {@Overridepublic int compare(UsageStats lhs, UsageStats rhs) {return (lhs.getLastTimeUsed() > rhs.getLastTimeUsed()) ? -1 : (lhs.getLastTimeUsed() == rhs.getLastTimeUsed()) ? 0 : 1;}
}

需要的权限

<uses-permission xmlns:tools="http://schemas.android.com/tools"android:name="android.permission.PACKAGE_USAGE_STATS"tools:ignore="ProtectedPermissions" />

设置界面授权

Intent intent = new Intent(Settings.ACTION_USAGE_ACCESS_SETTINGS);
startActivity(intent);

检查是否申请了权限

public static boolean needPermissionForBlocking(Context context) {try {PackageManager packageManager = context.getPackageManager();ApplicationInfo applicationInfo = packageManager.getApplicationInfo(context.getPackageName(), 0);AppOpsManager appOpsManager = (AppOpsManager) context.getSystemService(Context.APP_OPS_SERVICE);int mode = appOpsManager.checkOpNoThrow(AppOpsManager.OPSTR_GET_USAGE_STATS, applicationInfo.uid, applicationInfo.packageName);return  (mode != AppOpsManager.MODE_ALLOWED);} catch (PackageManager.NameNotFoundException e) {return true;}
}

解决方法2:getRunningTasks doesn’t work in Android L

Intent intent = new Intent(Settings.ACTION_USAGE_ACCESS_SETTINGS);
startActivity(intent);public void getTopActivtyFromLolipopOnwards(){String topPackageName ;if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {UsageStatsManager mUsageStatsManager = (UsageStatsManager)getSystemService(Context.USAGE_STATS_SERVICE);long time = System.currentTimeMillis();// We get usage stats for the last 10 secondsList<UsageStats> stats = mUsageStatsManager.queryUsageStats(UsageStatsManager.INTERVAL_DAILY, time - 1000*10, time);// Sort the stats by the last time usedif(stats != null) {SortedMap<Long,UsageStats> mySortedMap = new TreeMap<Long,UsageStats>();for (UsageStats usageStats : stats) {mySortedMap.put(usageStats.getLastTimeUsed(),usageStats);}if(mySortedMap != null && !mySortedMap.isEmpty()) {topPackageName =  mySortedMap.get(mySortedMap.lastKey()).getPackageName();Log.e("TopPackage Name",topPackageName);}}}
}

getRunningTask API相关推荐

  1. 淘宝获取单笔订单信息服务端调用API及流程

    淘宝获取单笔交易接口(文档地址):https://open.taobao.com/api.htm?docId=54&docType=2 调用接口所需依赖(文档地址):https://devel ...

  2. rancher部署项目Validation failed in API: Deployment.apps“”must be no more than 63 characters问题原因及解决方法

    Validation failed in API: Deployment.apps "xxxxxxxxxx-x x x x x x x x x" is invalid: [meta ...

  3. RPC 笔记(01)— RPC概念、调用流程、RPC 与 Restful API 区别

    1. 基本概念 PRC 远程过程调用 Remote Procedure Call,其就是一个节点请求另外一个节点提供的服务.当两个物理分离的子系统需要建立逻辑上的关联时,RPC 是牵线搭桥的常见技术手 ...

  4. 通过聚合数据API获取微信精选文章

    思路 在聚合数据申请账号(https://www.juhe.cn/) 通过聚合数据api获取微信精选文章api 通过newspaper库提取相应的文本内容,关于newspaper库的使用方法可以参考这 ...

  5. 使用 JavaCSV api 读取和写入 csv 文件

    使用JavaCSV api 导包 我现在基本上都是Maven构建项目,相信大家也是,就不提供jar包了. <dependency><groupId>net.sourceforg ...

  6. API pytorch tensorflow

    pytorch与tensorflow API速查表 方法名称 pytroch tensorflow numpy 裁剪 torch.clamp(x, min, max) tf.clip_by_value ...

  7. GPT3 api接口调用

    原标题:OpenAI发布GPT3 api调用接口!可处理几乎所有英文问题 大数据文摘出品 作者:牛婉杨.笪洁琼 两周前,OpenAI又放了个大招:GPT3突然放出,其参数量达到1750亿,相当于160 ...

  8. pykafka连接重要使用pykafka,kafka-python的api开发kafka生产者和消费者

    https://pykafka.readthedocs.io/en/latest/api/producer.html 说明文档 </div><h2 class="heade ...

  9. 降维-基于RDD的API

    降维-基于RDD的API • Singular value decomposition (SVD) o Performance o SVD Example • Principal component ...

最新文章

  1. SQL SERVER 存储过程执行带输出参数的SQL语句拼接
  2. 开课提醒 | 听顶会大佬透析前沿算法,解密人脸识别技术
  3. Java黑皮书课后题第6章:*6.39(几何:点的位置)编程练习题3.32显示如何测试一个点是否在一个有向直线的左侧、右侧或在直线上,编写一个程序,输入三个点p0p1p2,显示p2是否在直线p0p1
  4. LeetCode OJ 147. Insertion Sort List
  5. Android之调用微信登陆、分享、支付
  6. 计算机教育部学科评估2019,2019教育部8大学科评估公示名单,学科实力一眼较高低!...
  7. 五子棋python设计心得_python五子棋游戏的设计与实现
  8. loading窗口动画 web_分享web前端七款HTML5 Loading动画特效集锦
  9. liunx 常用操作
  10. UPESB天气查询用例(三)
  11. 列出场景对象Lightmap属性
  12. 回来bool的函数无return时返回true还是false
  13. 爬取百度贴吧发帖信息并保存到scv文件中
  14. WPF基础系列六:MVVM框架
  15. 【洋桃电子】STM32入门100步-02
  16. lombook插件安装
  17. [!] Gradle threw an error while downloading artifacts from the network. Retrying to download... Runn
  18. 大数据基础数据之中国法定节假日API
  19. 用python画玫瑰花
  20. 特斯拉如何恢复出厂设置_iphone如何恢复手机出厂设置

热门文章

  1. NetBeans 时事通讯(刊号 # 124 - Nov 11, 2010)
  2. 配对MPLS和SD-WAN是一个双赢的方案
  3. 用SAPI实现Speech Recognition(SR) - 命令控制模式
  4. 黄金点游戏之客户端(homework-05)
  5. antd menu收缩时二级菜单不跟随的问题。
  6. μCUnit,微控制器的单元测试框架
  7. 实验吧—Web——WP之 上传绕过
  8. python面向对象小练习
  9. (原创)发布一个C++版本的ORM库SmartDB(一)
  10. office在线编辑器