监视任务栈中最新打开的程序
发布日期:2021-06-30 18:39:33 浏览次数:2 分类:技术文章

本文共 1488 字,大约阅读时间需要 4 分钟。

import java.util.List;import android.app.ActivityManager;import android.app.ActivityManager.RunningTaskInfo;import android.app.Service;import android.content.Intent;import android.os.IBinder;import android.os.SystemClock;/** * 看门狗服务 * @author Administrator * */public class WatchDogService extends Service {
private boolean isWatch;//是否监控 private ActivityManager am; @Override public IBinder onBind(Intent intent) { // TODO Auto-generated method stub return null; } @Override public void onCreate() { am = (ActivityManager) getSystemService(ACTIVITY_SERVICE); watchDog();//看门狗的逻辑 super.onCreate(); } private void watchDog(){ new Thread(){ public void run() { isWatch = true; while (isWatch) { //通过isWatch 来控制该线程 //时刻监控任务栈 List
runningTasks = am.getRunningTasks(1);//获取最新的任务栈集合 RunningTaskInfo runningTaskInfo = runningTasks.get(0);//最新打开的任务栈(不管多少个栈,只看第一个) //任务栈中获取顶部activity String packName = runningTaskInfo.topActivity.getPackageName(); System.out.println(packName); SystemClock.sleep(50);//每个50毫秒 狗监控任务栈 } }; }.start(); } @Override public void onDestroy() { // TODO Auto-generated method stub isWatch = false; super.onDestroy(); }}

清单文件中注册服务:

转载地址:https://linqiarui.blog.csdn.net/article/details/51173399 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:Home键监听
下一篇:提高服务运行级别(前台服务)

发表评论

最新留言

关注你微信了!
[***.104.42.241]2024年04月19日 03时43分14秒