ActivityManager--获取栈顶Activity及其所属进程,activitymanager

ActivityManager--获取栈顶Activity及其所属进程,activitymanager

//获取栈顶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"/>  

android 在外围, 怎得到栈顶acitivity的 context

不知道下面的方法是否满足您的问题:
在栈顶Activity中调用外围类中的一个方法时,把栈顶Activity的context传递过去。
 

怎关闭指定的activity 先通过底下的方法获取 然后?

你的这种方式是通过task获取Activity,只能根据task的位置找到对应的Activity[mw_shl_code=java,true]ActivityManager am = (ActivityManager)this.getSystemService(Context.ACTIVITY_SERVICE); ComponentName cn = am.getRunningTasks(2).get(0).topActivity; [/mw_shl_code]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值