如何获得当前的activity android

如何获得当前的activity android,第1张

android开发中获取当前的Activity有多种情况;

在Activity中,this就是当前的Activity,例如thisstartActivity。

在Fragment中可以通过 getActivity()来得到当前装载这个Fragment的Activity。

通过Activity堆栈来获取当前显示的这个Activity

ActivityManager am = (ActivityManager) getSystemService(ACTIVITY_SERVICE);

ComponentName cn = amgetRunningTasks(1)get(0)topActivity;

adb shell "dumpsys window | grep mCurrentFocus"

adb命令获取比较简单直接(对于获取单个页面比较方便)

打开android studio 连接手机,打开您想查看的App,之后在android studio中点击

Tools > Layout Inspector (用Layout Inspector功能)

————————————————

参考链接: >

首先是新建一个Android工程,然后修改mainxml文件如下:

添加一个ListView

[html] view plaincopy

<xml version="10" encoding="utf-8">

<LinearLayout xmlns:android=">

  android:orientation="vertical"

  android:layout_width="fill_parent"

  android:layout_height="fill_parent"

  >

<ListView  

  android:layout_width="fill_parent"

  android:layout_height="wrap_content"

  android:id="@+id/tasklist"

  />

</LinearLayout>

然后编辑java代码

[java] view plaincopy

package comcaydenrun;

import javautilArrayList;

import javautilIterator;

import javautilList;

import androidappActivity;

import androidappActivityManager;

import androidappActivityManagerRunningTaskInfo;

import androidcontentContext;

import androidosBundle;

import androidwidgetArrayAdapter;

import androidwidgetListAdapter;

import androidwidgetListView;

public class MyActivityRunDemo extends Activity {

 

  private ListView tasklist=null;

  private ListAdapter adapter=null;

  private List<String> all=new ArrayList<String>();

  private ActivityManager activityManager=null;

  / Called when the activity is first created /

  @Override

  public void onCreate(Bundle savedInstanceState) {

      superonCreate(savedInstanceState);

      setContentView(Rlayoutmain);

     

      tasklist=(ListView)thisfindViewById(Ridtasklist);

     

      activityManager=(ActivityManager)supergetSystemService(ContextACTIVITY_SERVICE);

     

      listActivity();

  }

 

  public void listActivity(){

  List<RunningTaskInfo> tasks=  activityManagergetRunningTasks(30);

      Iterator<RunningTaskInfo> itInfo=tasksiterator();

      while(itInfohasNext()){

          RunningTaskInfo info=itInfonext();

          alladd("id="+infoid+","+infobaseActivitygetClassName());

         

      }

      adapter=new ArrayAdapter<String>(this, androidRlayoutsimple_list_item_1,thisall);

     

      tasklistsetAdapter(adapter);

  }

}

最后需要再配置所需要的权限AndroidManifestxml

[html] view plaincopy

<xml version="10" encoding="utf-8">

<manifest xmlns:android=">

    package="comcaydenrun"

    android:versionCode="1"

    android:versionName="10">

  <application android:icon="@drawable/icon" android:label="@string/app_name">

      <activity android:name="MyActivityRunDemo"

                android:label="@string/app_name">

          <intent-filter>

              <action android:name="androidintentactionMAIN" />

              <category android:name="androidintentcategoryLAUNCHER" />

          </intent-filter>

      </activity>

  </application>

  <uses-sdk android:minSdkVersion="8" />

<uses-permission android:name="androidpermissionGET_TASKS"></uses-permission>

</manifest>

程序运行效果如图所示:

以上就是关于如何获得当前的activity android全部的内容,包括:如何获得当前的activity android、adb笔记3:Android获取App当前页面的Activity名称、android 获取所有正在运行的activity等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/10150947.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-05
下一篇2023-05-05

发表评论

登录后才能评论

评论列表(0条)

    保存