【Android获得栈中最顶层的Activity】宝剑锋从磨砺出,梅花香自苦寒来。这篇文章主要讲述Android获得栈中最顶层的Activity相关的知识,希望能为你提供帮助。
1 /** 2* 获得栈中最顶层的Activity 3* 4* @param context 5* @return 6*/ 7public String getTopActivity(Context context) 8{ 9android.app.ActivityManager manager = (android.app.ActivityManager) context.getSystemService(context.ACTIVITY_SERVICE); 10List< ActivityManager.RunningTaskInfo> runningTaskInfos = manager.getRunningTasks(1); 11 12if (runningTaskInfos != null) 13{ 14return (runningTaskInfos.get(0).topActivity.getClassName()); 15} else 16return null; 17} 18 19 try 20{ 21Intent intent = new Intent(MainActivity.this, Class.forName("com.johnson.main.Activity1")); 22startActivity(intent); 23} catch (ClassNotFoundException e) 24{ 25e.printStackTrace(); 26} 27 28 29 ================ 30 31 32Context context = createPackageContext("com.johnson.main.common.Activity2",
Context.CONTEXT_INCLUDE_CODE |
Context.CONTEXT_IGNORE_SECURITY); 33openDiaog((Activity) context); 35Class clazz = context.getClassLoader().loadClass(topActivity); //载入这个类 36Object owner = clazz.newInstance(); //新建一个实例 37Object obj = clazz.getMethod("openDiaog", String.class).invoke(owner, context); //获取print方法,传入参数并执行
推荐阅读
- Android SDK6.0 运行时权限问题
- UML协作图介绍和用法
- UML构建块介绍和用法图解
- UML类图用法解释详细图解
- UML关联(自反关联和定向关联图解)
- UML关联、聚合与组合详细图解
- UML活动图介绍和用法图解
- UML-架构详细解释
- UML教程入门介绍