`
iaiai
  • 浏览: 2179888 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

获取屏幕上正在显示的activity

 
阅读更多
        用过ActivityManager的童鞋估计都知道,可以从ActivityManager里面可以获取到当前运行的所有任务,所有进程和所有服务,这是任务管理器的核心。

         那么,从里面我们可以发掘点什么出来吗?

         仔细看getRunningTasks的文档,里面说获取的是系统中"running"的所有task,"running"状态包括已经被系统冻结的task。而且返回的这个列表是按照顺序排列的,也就是说第一个肯定比第二个后运行。

          getRunningTasks有个整型参数,表示返回列表的最大个数。那么,我们如果把1作为参数给进去,那么他返回的task就是当前运行的那个task,然后从task中获取到最顶层的activity,这个activity就是当前显示给用户的那个activity了。

ActivityManager am = (ActivityManager) getSystemService(ACTIVITY_SERVICE);  
ComponentName cn = am.getRunningTasks(1).get(0).topActivity;  
Log.d("", "pkg:"+cn.getPackageName());  
Log.d("", "cls:"+cn.getClassName());

至于这个能做什么,嘿嘿,我相信你知道的。
分享到:
评论

相关推荐

    获取手机屏幕大小

    在上面的代码中,我们使用 widthPixels 和 heightPixels 属性获取手机屏幕的宽高信息,然后将其格式化为一个字符串,最后显示在TextView 中。 在 Android 中,获取手机屏幕大小可以有多种方法,但是使用 ...

    Android锁屏状态下显示Activity

    同时,可能还需要`FLAG_SHOW_WHEN_LOCKED`和`FLAG_TURN_SCREEN_ON`来确保屏幕被点亮并显示Activity。在Activity的`onCreate()`方法中添加如下代码: ```java getWindow().addFlags(WindowManager.LayoutParams....

    获取屏幕分辨率示例【源代码】

    在源代码示例中,可能会包含一个简单的Android应用,其中包含一个Activity或者Fragment,这个组件会在启动时获取屏幕分辨率并显示出来,可能还会包含UI元素如TextView来展示结果。开发者通常会在`onCreate()`方法中...

    安卓获取apk package activity工具

    "安卓获取apk package activity工具"是一个专门用于解析和获取APK文件中Package(包名)和Activity(活动)信息的实用工具。了解这个工具对于开发者来说非常重要,因为掌握如何获取和操作这些信息对于调试、分析或...

    获取点击手机屏幕的xy坐标值简单代码demo

    以下是一个简单的Android Activity,用于获取屏幕点击的xy坐标: ```java import android.app.Activity; import android.os.Bundle; import android.view.MotionEvent; import android.widget.TextView; public ...

    android获取设备屏幕分辨率

    本文将深入探讨如何在Android系统中获取屏幕分辨率,并结合`TestDisplayMetrics`这个示例,来讲解相关知识。 一、Android屏幕分辨率概念 屏幕分辨率是指屏幕上像素的数量,通常用宽度和高度的像素数表示,如1920x...

    Android-获取手机屏幕大小屏幕分辨率屏幕密度导航栏高度标题栏高度

    开发者可以调用`DisplayMetrics.heightPixels`和`DisplayMetrics.widthPixels`来获取屏幕的像素宽度和高度,然后计算对角线长度。屏幕大小通常分为小、正常、大、超大等类别,但实际尺寸可能因设备而异。 2. 屏幕...

    android获取屏幕分辨率

    本文将详细讲解如何在Android中获取屏幕分辨率,并通过一个简单的示例来展示实现过程。 首先,我们需要理解Android屏幕分辨率的基本概念。屏幕分辨率是指屏幕上像素点的数量,通常以宽度和高度的像素值表示,如...

    Android实例-获取屏幕的物理分辨率

    在Android平台上,获取屏幕的物理分辨率是开发过程中的一项重要任务,尤其对于那些需要根据屏幕尺寸进行适配的应用来说。在Delphi这样的集成开发环境中,我们可以编写代码来获取这些信息。本实例将详细介绍如何使用...

    adb命令截屏、返回按键、获取顶层activity

    在这个主题中,我们将深入探讨如何使用adb命令来实现屏幕截图、模拟返回按键以及获取设备上的顶层Activity。 1. **adb命令截屏** 要使用adb命令截屏,你需要确保你的设备已经开启了USB调试,并通过USB连接到电脑。...

    Android设备中获取屏幕相关参数

    分辨率决定了屏幕显示内容的清晰度,高分辨率意味着更高的图像质量。 2. **密度(DPI)**: DPI(Dots Per Inch)是每英寸像素数量的度量,用于衡量屏幕的像素密度。Android定义了四种基本的DPI类别:低密度(LDPI...

    android中获取屏幕信息,做标准刻度的尺子

    - `DisplayMetrics` 类是获取屏幕信息的主要工具。你可以通过`Activity`的`getWindowManager().getDefaultDisplay().getMetrics(displayMetrics)`方法得到一个`DisplayMetrics`实例。 - `DisplayMetrics`包含了...

    Android实现两块屏幕分屏显示

    `Presentation`是Android用于在第二个屏幕上显示内容的类,通常在主Activity中创建。它有自己的`Context`,可以在不同的显示屏上呈现独立的界面。创建`Presentation`时需要传入`Display`对象,这样内容就能在指定的...

    android使用service和activity获取屏幕尺寸的方法

    本文将详细介绍如何在`Activity`和`Service`中获取屏幕的宽度和高度。 首先,我们来看看在`Activity`中获取屏幕尺寸的方法。`Activity`是Android应用的主要组件,它提供用户界面。以下是一个简单的示例: ```java ...

    根据加速度传感器的数据,在屏幕上显示水平线

    3. **计算屏幕坐标**:由于传感器数据的单位通常是m/s²,需要将其转换为更适合屏幕显示的比例。这通常涉及到一些校准和归一化的过程。计算屏幕坐标时,可以假设在设备水平放置时,X轴的加速度接近于0,而Y轴的加...

    Android中通过view方式获取当前Activity的屏幕截图实现方法

    接下来,我们获取屏幕的宽度和高度,以便创建符合屏幕尺寸的Bitmap: ```java Display display = activity.getWindowManager().getDefaultDisplay(); int width = display.getWidth(); int height = display....

    LauncherActivity 开发启动Activity的界面

    `LauncherActivity`通常显示一个启动屏幕或者应用的主菜单,用户可以通过这个界面选择不同的功能或者启动不同的`Activity`。 在AndroidManifest.xml文件中,`LauncherActivity`被标记为`<intent-filter>`中的`...

    android获取屏幕高度和宽度的实现方法

    4. 同时,可以通过`metric.density`获取屏幕密度,`metric.densityDpi`获取屏幕密度DPI,这些值有助于在不同密度的屏幕上进行适配: ```java float density = metric.density; int densityDpi = metric.densityDpi; ...

    获取手机屏幕大小(DisplayMetrics类取得画面宽高)

    1. **自适应布局**:获取屏幕尺寸后,可以针对不同的设备分辨率设计自适应的布局方案,确保应用界面在不同设备上都能良好展示。 2. **资源优化**:根据屏幕密度选择合适的图片资源,减少内存消耗,提高应用性能。 3....

Global site tag (gtag.js) - Google Analytics