Android 获取当前栈顶activity

Android 获取当前栈顶activity,第1张

这个方法需要app获取androidpermissionREAL_GET_TASKS权限

Android 50以上只对系统应用开放。

Android50以下需要添加权限:

androidpermissionGET_TASKS

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;

ActivityManager manager = (ActivityManager) contextgetSystemService(ContextACTIVITY_SERVICE);

List<RunningTaskInfo> runningTasks = managergetRunningTasks(1);

RunningTaskInfo cinfo = null;

if (runningTasks != null && runningTaskssize() > 0) {

cinfo = runningTasksget(0);

}

ComponentName component = null;

if (cinfo != null) {

component = cinfotopActivity;

}

String componentName = null;

if (component != null) {

componentName = componentgetClassName();

}

//当前activityName

componentName;

实例代码如下“

public class MyActivity extends Activity

3 {

4 public void test(){};

5 public void test(int position){}

6 }

7 BaseAdater:

8 public class MyBaseAdapter extends BaseAdapter{

9 MyActivity context;

10 public MyBaseAdapter(MyActivity context){

11 thiscontext = context;

12 }

13 //其他函数中调用MyActivity的方法。

14 contexttest();

15 contexttext(1);

16

工具/原料

app

android手机

数据线

方法/步骤

需要配置好android的开发环境后,打开cmd命令窗口

在命令窗口中输入,adb logcat>D:/loglog,输入D盘下

运行手机上app应用程序,需要获取到app应用程序

然后停止运行获取手机上logcat的文件,停止是直接按Ctrl+c

打开输出的文件

通过抓取到log的日志,找到相应activity的应用程序。

以上就是关于Android 获取当前栈顶activity全部的内容,包括:Android 获取当前栈顶activity、怎么获取当前运行的Activity、android 中怎样获得activityname等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: http://outofmemory.cn/web/9760839.html

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

发表评论

登录后才能评论

评论列表(0条)

保存