getRunningTask API
解决方法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相关推荐
- 淘宝获取单笔订单信息服务端调用API及流程
淘宝获取单笔交易接口(文档地址):https://open.taobao.com/api.htm?docId=54&docType=2 调用接口所需依赖(文档地址):https://devel ...
- 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 ...
- RPC 笔记(01)— RPC概念、调用流程、RPC 与 Restful API 区别
1. 基本概念 PRC 远程过程调用 Remote Procedure Call,其就是一个节点请求另外一个节点提供的服务.当两个物理分离的子系统需要建立逻辑上的关联时,RPC 是牵线搭桥的常见技术手 ...
- 通过聚合数据API获取微信精选文章
思路 在聚合数据申请账号(https://www.juhe.cn/) 通过聚合数据api获取微信精选文章api 通过newspaper库提取相应的文本内容,关于newspaper库的使用方法可以参考这 ...
- 使用 JavaCSV api 读取和写入 csv 文件
使用JavaCSV api 导包 我现在基本上都是Maven构建项目,相信大家也是,就不提供jar包了. <dependency><groupId>net.sourceforg ...
- API pytorch tensorflow
pytorch与tensorflow API速查表 方法名称 pytroch tensorflow numpy 裁剪 torch.clamp(x, min, max) tf.clip_by_value ...
- GPT3 api接口调用
原标题:OpenAI发布GPT3 api调用接口!可处理几乎所有英文问题 大数据文摘出品 作者:牛婉杨.笪洁琼 两周前,OpenAI又放了个大招:GPT3突然放出,其参数量达到1750亿,相当于160 ...
- pykafka连接重要使用pykafka,kafka-python的api开发kafka生产者和消费者
https://pykafka.readthedocs.io/en/latest/api/producer.html 说明文档 </div><h2 class="heade ...
- 降维-基于RDD的API
降维-基于RDD的API • Singular value decomposition (SVD) o Performance o SVD Example • Principal component ...
最新文章
- SQL SERVER 存储过程执行带输出参数的SQL语句拼接
- 开课提醒 | 听顶会大佬透析前沿算法,解密人脸识别技术
- Java黑皮书课后题第6章:*6.39(几何:点的位置)编程练习题3.32显示如何测试一个点是否在一个有向直线的左侧、右侧或在直线上,编写一个程序,输入三个点p0p1p2,显示p2是否在直线p0p1
- LeetCode OJ 147. Insertion Sort List
- Android之调用微信登陆、分享、支付
- 计算机教育部学科评估2019,2019教育部8大学科评估公示名单,学科实力一眼较高低!...
- 五子棋python设计心得_python五子棋游戏的设计与实现
- loading窗口动画 web_分享web前端七款HTML5 Loading动画特效集锦
- liunx 常用操作
- UPESB天气查询用例(三)
- 列出场景对象Lightmap属性
- 回来bool的函数无return时返回true还是false
- 爬取百度贴吧发帖信息并保存到scv文件中
- WPF基础系列六:MVVM框架
- 【洋桃电子】STM32入门100步-02
- lombook插件安装
- [!] Gradle threw an error while downloading artifacts from the network. Retrying to download... Runn
- 大数据基础数据之中国法定节假日API
- 用python画玫瑰花
- 特斯拉如何恢复出厂设置_iphone如何恢复手机出厂设置