截取当前运行程序解屏保存png格式,如何获得当前运行其他程序的activity的实例对象呢? 网上说反射或许可以,利用反射试了下: ActivityManager am = (ActivityManager) getSystemService(ACTIVITY_SERVICE);
List<RunningTaskInfo> cn = am.getRunningTasks(1);
RunningTaskInfo taskInfo=cn.get(0);
ComponentName name=taskInfo.topActivity;
Activity a = (Activity) (Class.forName(name.getClassName()).newInstance()); View currentScreen= a.getWindow().getDecorView(); 根本不行,后查了下,反射是得到新的activity,我要的是原来的activity实例,怎么办??求牛人解决!!!
List<RunningTaskInfo> cn = am.getRunningTasks(1);
RunningTaskInfo taskInfo=cn.get(0);
ComponentName name=taskInfo.topActivity;
Activity a = (Activity) (Class.forName(name.getClassName()).newInstance()); View currentScreen= a.getWindow().getDecorView(); 根本不行,后查了下,反射是得到新的activity,我要的是原来的activity实例,怎么办??求牛人解决!!!
android进程间内存是不共享的。所以如果不是同一个进程,你是拿不到另外程序的实例的。
除非那个程序和你的程序有进程间的通信,比如什么AIDL,广播,推送之类的。