当前位置: 首页 > news >正文

Android获取当前屏幕显示的是哪个activity

在 Android 中,要获取当前屏幕显示的 Activity,可以使用以下几种方法:

方法一:使用 ActivityManager 获取当前运行的任务信息
这是一个常见的方法,尽管从 Android 5.0 (API 21) 开始,有些方法变得不太可靠或受限制。

import android.app.ActivityManager;
import android.content.Context;
import android.os.Build;

public class ActivityUtils {
    public static String getCurrentActivity(Context context) {
        ActivityManager activityManager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
        if (activityManager != null) {
            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
                List<ActivityManager.AppTask> tasks = activityManager.getAppTasks();
                if (tasks != null && !tasks.isEmpty()) {
                    ActivityManager.AppTask task = tasks.get(0);
                    ActivityManager.RecentTaskInfo taskInfo = task.getTaskInfo();
                    if (taskInfo != null && taskInfo.topActivity != null) {
                        return taskInfo.topActivity.getClassName();
                    }
                }
            } else {
                List<ActivityManager.RunningTaskInfo> tasks = activityManager.getRunningTasks(1);
                if (tasks != null && !tasks.isEmpty()) {
                    ActivityManager.RunningTaskInfo taskInfo = tasks.get(0);
                    if (taskInfo != null && taskInfo.topActivity != null) {
                        return taskInfo.topActivity.getClassName();
                    }
                }
            }
        }
        return null;
    }
}
在你的 Activity 或其他组件中调用 getCurrentActivity 方法来获取当前显示的 Activity 名称。

2.杀掉当前运行的的那个app进程

/*** 杀掉 QQ 音乐的进程*/
public static void killQQMusicProcess(String packageName, Context context) {android.util.Log.d(TAG, "killQQMusicProcess");try {android.util.Log.d(TAG, " realy kill app: " + packageName);Process process = Runtime.getRuntime().exec("am force-stop " + packageName);process.waitFor();ActivityManager activityManager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);List<ActivityManager.RunningAppProcessInfo> runningAppProcesses = activityManager.getRunningAppProcesses();for (ActivityManager.RunningAppProcessInfo processInfo : runningAppProcesses) {if (processInfo.processName.equals(packageName)) {android.util.Log.d(TAG, "Killing process: " + processInfo.pid);android.os.Process.killProcess(processInfo.pid);}}} catch (Exception e) {android.util.Log.e(TAG, "Error killing app: " + packageName, e);}
}使用的地方调用:
需要杀进程的包名:BAAPP_QQMUSIC_PACKNAME =“con.android.tenxunAA” 
ActivityUtils.killQQMusicProcess(APP_QQMUSIC_PACKNAME, BlueConnectModeActivity.this);

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 访问控制系列
  • 【RPC注册发现框架实战】一个简易的RPC注册发现框架
  • Vue.js:如何区分页面关闭和刷新?深入解析与实战
  • mysql命令练习
  • 测试开发面经总结(三)
  • Qt篇——QSqlQueryModel内容居中显示
  • Stable Diffusion:质量高画风清新细节丰富的二次元大模型二次元插图
  • 服务器的80和443端口关闭也能申请SSL证书
  • 容器安全最佳实践和工具
  • 系统架构设计师教程 第3章 信息系统基础知识-3.5 专家系统-解读
  • Vue--Router(路由)
  • Scrapy 核心组件之Spiders组件的使用
  • java在继承的继承上添加新的属性和方法
  • 通过MobaXterm工具远程连接可视化服务器桌面并操控
  • [React 进阶系列] useSyncExternalStore hook
  • $translatePartialLoader加载失败及解决方式
  • 2018一半小结一波
  • Apache的80端口被占用以及访问时报错403
  • C学习-枚举(九)
  • E-HPC支持多队列管理和自动伸缩
  • ERLANG 网工修炼笔记 ---- UDP
  • isset在php5.6-和php7.0+的一些差异
  • JS字符串转数字方法总结
  • SpringBoot几种定时任务的实现方式
  • Vim 折腾记
  • vuex 学习笔记 01
  • Yeoman_Bower_Grunt
  • 闭包--闭包之tab栏切换(四)
  • 第2章 网络文档
  • 关于使用markdown的方法(引自CSDN教程)
  • 将 Measurements 和 Units 应用到物理学
  • 前端
  • 微信小程序设置上一页数据
  • 通过调用文摘列表API获取文摘
  • 曾刷新两项世界纪录,腾讯优图人脸检测算法 DSFD 正式开源 ...
  • ​ssh-keyscan命令--Linux命令应用大词典729个命令解读
  • ​总结MySQL 的一些知识点:MySQL 选择数据库​
  • # Swust 12th acm 邀请赛# [ A ] A+B problem [题解]
  • #define用法
  • (06)金属布线——为半导体注入生命的连接
  • (1)Map集合 (2)异常机制 (3)File类 (4)I/O流
  • (delphi11最新学习资料) Object Pascal 学习笔记---第14章泛型第2节(泛型类的类构造函数)
  • (补充):java各种进制、原码、反码、补码和文本、图像、音频在计算机中的存储方式
  • (二十六)Java 数据结构
  • (附源码)apringboot计算机专业大学生就业指南 毕业设计061355
  • (含react-draggable库以及相关BUG如何解决)固定在左上方某盒子内(如按钮)添加可拖动功能,使用react hook语法实现
  • (六)库存超卖案例实战——使用mysql分布式锁解决“超卖”问题
  • (篇九)MySQL常用内置函数
  • (十八)SpringBoot之发送QQ邮件
  • (十六)一篇文章学会Java的常用API
  • (限时免费)震惊!流落人间的haproxy宝典被找到了!一切玄妙尽在此处!
  • (已解决)Bootstrap精美弹出框模态框modal,实现js向modal传递数据
  • (转)Windows2003安全设置/维护
  • .bat批处理(十):从路径字符串中截取盘符、文件名、后缀名等信息
  • .desktop 桌面快捷_Linux桌面环境那么多,这几款优秀的任你选