如何获取当前正在运行的Activity实例

tqwboy 2010-10-08 07:06:52
我通过这段代码,获取到了正在显示的activity

ActivityManager am = (ActivityManager)context.getSystemService(Context.ACTIVITY_SERVICE);
ComponentName cn = am.getRunningTasks(1).get(0).topActivity;


然后想通过反射执行正在显示的那个Activity的实例里的方法,但是苦于不知道怎么获取这个Activity实例,所以连反射也没办法使用。麻烦知情人士能告诉我一下怎么获取,谢谢了!
...全文
10148 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
xxnan 2013-03-19
  • 打赏
  • 举报
回复
引用 18 楼 ruoyu132 的回复:
同求。。。请问解决了木有
LZ??????
ruoyu132 2013-03-14
  • 打赏
  • 举报
回复
同求。。。请问解决了木有
xyang0917 2012-10-17
  • 打赏
  • 举报
回复
同求。。。。
ratyww 2012-10-15
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 的回复:]

引用 3 楼 ameyume 的回复:

增加一个static变量标示正在运行的activity?

参考http://www.eoeandroid.com/thread-32048-1-1.html


我想获取的不是自己写的的Activity实例,而是正在运行中的系统程序的Activity实例
[/Quote]

同求
nooooru 2012-05-30
  • 打赏
  • 举报
回复
在需要调用runOnUiThread()的线程中,建一个constructor,然后在Activity中新建这个实例的时候把本身当参数传进去。

...
Activity acty;
Constructor(Activity act)
{
this.acty=act;
}

然后就可以用acty.runOnUiThread()了。
woyaowenzi 2012-04-10
  • 打赏
  • 举报
回复
让activity从某个接口继承过来,通过instanceof来判断是哪一类的activity,这个接口还可以提供一个方法,例如getType来获得其类型。
lfblfb 2011-11-07
  • 打赏
  • 举报
回复
查看activity源码可以看到,该类没有实现parcel,也就是android设计意图没有打算把activity实例透过代理类传递给应用使用,请考虑你的目标是否可以通过其他方法实现。
lfblfb 2011-11-07
  • 打赏
  • 举报
回复
sorry,是mActivities
lfblfb 2011-11-07
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 tqwboy 的回复:]

引用 3 楼 ameyume 的回复:

增加一个static变量标示正在运行的activity?

参考http://www.eoeandroid.com/thread-32048-1-1.html


我想获取的不是自己写的的Activity实例,而是正在运行中的系统程序的Activity实例
[/Quote]

activity实例在框架的activityThread里面管理:mActivity;
2.2版本api只能获取顶层activity组件名,应该没有获取实例的。
zclever 2011-07-07
  • 打赏
  • 举报
回复
同球,谢谢
h286271819 2011-03-16
  • 打赏
  • 举报
回复
同求
谢谢!!!!!
tkgg123321 2011-01-22
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 ldhan11 的回复:]
请问下楼主解决了吗?

求答案
[/Quote]
同求
谢谢
ldhan11 2010-12-08
  • 打赏
  • 举报
回复
请问下楼主解决了吗?

求答案
tqwboy 2010-10-13
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 aspirehouse 的回复:]

反射也可获得那个类里的方法 然后执行
[/Quote]

这个我知道,但是要在当前显示的Activity中进行一些操作,必须获取当前显示的Activity的实例。
AspireHouse 2010-10-12
  • 打赏
  • 举报
回复
反射也可获得那个类里的方法 然后执行
tqwboy 2010-10-12
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 ameyume 的回复:]

增加一个static变量标示正在运行的activity?

参考http://www.eoeandroid.com/thread-32048-1-1.html
[/Quote]

我想获取的不是自己写的的Activity实例,而是正在运行中的系统程序的Activity实例
ameyume 2010-10-12
  • 打赏
  • 举报
回复
增加一个static变量标示正在运行的activity?

参考http://www.eoeandroid.com/thread-32048-1-1.html
牛叔 2010-10-12
  • 打赏
  • 举报
回复
纯属学习。。。
yyy025025025 2010-10-09
  • 打赏
  • 举报
回复
没看到这样的函数啊,可以考虑通过intent或者broadcast或者listener来实现这样的需求。

80,350

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧