ActivityManager(一)--获取栈顶Activity及其所属进程

//获取栈顶Activity及其所属进程
	public static String getTopActivityNameAndProcessName(Context context){
		String processName=null;
		String topActivityName=null;
		 ActivityManager activityManager =
		(ActivityManager)(context.getSystemService(android.content.Context.ACTIVITY_SERVICE )) ;
	     List<RunningTaskInfo> runningTaskInfos = activityManager.getRunningTasks(1) ;
	     if(runningTaskInfos != null){
	    	 ComponentName f=runningTaskInfos.get(0).topActivity;
	    	 String topActivityClassName=f.getClassName();
	    	 String temp[]=topActivityClassName.split("\\.");
	    	 //栈顶Activity的名称
	    	 topActivityName=temp[temp.length-1];
	    	 int index=topActivityClassName.lastIndexOf(".");
	    	//栈顶Activity所属进程的名称
	    	 processName=topActivityClassName.substring(0, index);
	    	 System.out.println("---->topActivityName="+topActivityName+",processName="+processName);

	     }
	     return topActivityName+","+processName;
	}

注意权限:

<uses-permission android:name="android.permission.GET_TASKS"/>

时间: 2024-10-10 21:35:17

ActivityManager(一)--获取栈顶Activity及其所属进程的相关文章

(三十一)工具方法:获得应用程序包名/安装apk/如何获得当前栈顶的Activity/android如何实现点击一个按钮进入指定网页

(1).获得应用程序包名代码 /** * 获取当前应用程序的版本号 * * @return */ private String getVersion() { try { PackageManager manager = getPackageManager(); // 获取包管理服务 PackageInfo ClientInfo = manager .getPackageInfo(getPackageName(), 0); // 获取包的信息 return ClientInfo.versionNa

[Android Pro] ESP和EBP 栈顶指针和栈底指针

cp:  http://blog.csdn.net/hutao1101175783/article/details/40128587 (1)ESP:栈指针寄存器(extended stack pointer),其内存放着一个指针,该指针永远指向系统栈最上面一个栈帧的栈顶. (2)EBP:基址指针寄存器(extended base pointer),其内存放着一个指针,该指针永远指向系统栈最上面一个栈帧的底部. [本次重点内容:了解几个常见的寄存器名字,记住eax一般用来保存函数的返回值,记住es

任务栈和Activity启动模式

!!任务栈和Activity启动模式!! https://blog.csdn.net/ws6013480777777/article/details/83829789 https://blog.csdn.net/infsafe/article/details/5666964 https://developer.android.com/guide/components/activities/tasks-and-back-stack 一直觉得官方和网上很多对于启动模式和intent的flag的介绍是

当前迭代的元素在栈顶

1 This is my JSP page. <br> 2 <s:debug></s:debug> 3 <s:property value="ss"/><br/> 4 <s:textfield name="ss"></s:textfield> 5 6 <!-- 7 当前迭代的元素在栈顶 8 如果迭代的是栈顶的元素,不需要加vlaue 9 --> 10 <!-- 11

push 栈顶sp=sp-2 可以把立着的栈,向左侧倒下,那么形态就和反汇编时,内存的形态是一样的。小偏移的字节在前, 大的偏移字节在后

push  栈顶sp=sp-2 可以把立着的栈,向左侧倒下,那么形态就和反汇编时,内存的形态是一样的.小偏移的字节在前, 大的偏移字节在后. 1 2 3 4 5 1 2 3 4 5

顺序栈的基本操作:初始化、进栈、出栈、读栈顶元素

顺序栈:利用一组地址连续的存储单元依次存放自栈底到栈顶的数据元素,同时由于栈操作的特殊性,还必须附设一个位置指针top(栈顶指针)来动态地指示栈顶元素在顺序栈中的位置.通常以top=-1表示空栈. 代码如下: #include<iostream> using namespace std; #define  TRUE 1 #define  FALSE 0 //顺序栈的存储结构 #define Stack_Size 50 //设栈中元素个数为50 typedef struct { int elem

【数据结构】用C++编写栈及基本操作(包括入栈,出栈,获得栈顶,摧毁,清空等等)

//[数据结构]用C++编写栈及基本操作(包括入栈,出栈,获得栈顶,摧毁,清空等等) //头文件 #ifndef _SEQ_STACK_ #define _SEQ_STACK_ #include <iostream> using namespace std; template <class Type> class SeqStack { public: SeqStack(size_t sz=INIT_SIZE) { capacity = sz > INIT_SIZE ? sz

获取apk的activity和package

有很多方法获取apk的activity和package,在这里说下我觉得最简单的: cmd中切换到sdk的build-tools\android-4.4.2目录下,输入命令aapt dump badging d:\jt.apk 我的SDK在F:\devandroid下,apk名字是jt.apk,放在了D盘根目录,所以我的命令是: F:\devandroid\sdk\build-tools\android-4.4.2>aapt dump badging d:\jt.apk 查看结果:

顺序栈(含有栈顶指针,栈底指针)的实现以及编写过程中的一些疑惑的解决

参考文献:数据结构(c语言版)---严蔚敏p44----->p47 代码如下: #include<stdlib.h>//malloc realloc #include<iostream>//cin cout using namespace std; typedef int ElemType;/*元素类型*/ #define STACK_INIT_SIZE 100 /*栈存储空间初始化容量*/ #define STACKINCREMENT 10 /*栈存储空间每次的增量*/ /