2 sf383460688 sf383460688 于 2016.04.22 16:43 提问

如何在service中调用当前正在运行的activity

如何在service中调用当前正在运行的activity
获取到activity,不是名字,请尽量描述完整一点

4个回答

lanlande_vip
lanlande_vip   2016.04.22 17:04

不建议这么做。
service中如果持有activity的实例, 在service没有被销毁之前,activity无法被回收会导致内存泄露问题。

当然如果非要这么做,你可以获取当前堆栈的栈顶activity。

CSDNXIAON
CSDNXIAON   2016.04.22 16:52

获取当前正在运行的Activity
状态栏返回到当前正在运行的Activity
Notification返回到当前正在运行的Activity
----------------------同志你好,我是CSDN问答机器人小N,奉组织之命为你提供参考答案,编程尚未成功,同志仍需努力!

freedom_wings5
freedom_wings5   2016.04.22 22:15

本人小白,对于你这个问题有点想法

事先自定义一个activity并继承parcelable接口,定义好aidl文件,在aidl中有传递你的activity对象的方法。之后在你用handler,自身getActivity()后传过去。

不知这样是否可行。再声明一次,本人小白,有错误还请指出。

freedom_wings5
freedom_wings5 自身是把this传过去,不是getActivity
大约 2 年之前 回复
dongfeng9ge
dongfeng9ge   Ds   Rxr 2017.09.03 15:58

用Application获取栈顶的Activity即可

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
使用adb获取当前正在运行的Activity
使用dumpsys命令可以查看Android手机当前正在运行的Activity adb shell dumpsys activity activities | findstr "Run" 如果结果不是想要找的Activity,可以去掉findstr过滤条件,这样会输出大量的信息,可以在结果中查找
如何在一个Service中调用Activity
android.util.AndroidRuntimeException: Calling startActivity() from outside of an Activity  context requires the FLAG_ACTIVITY_NEW_TASK flag 错误。解决办法   在一个Service中调用一个Activity,因为没有上下文对象,会报 android.uti
ActivityManager获得正在运行的activity与service
ActivityManager mActivityManager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE) ; //获得系统运行的进程 List appList1 = mActivityManager
service启动activity同时需要得到activity里的某个对象实现方法
本人android小菜鸟一只,最近因为某一个顽强的大boss bug困扰鄙人2天之久。 其根本问题就是startactivity的启动过程是放在一个ui线程里面执行的。 所以,当我在service里面startactivity,然后在service里面调用activity里面的某个getHandler方法之时,发现获取到的hanler是空。 经过调查才明白,startactivity是把ac
Android获得当前正在运行的Activity及相关信息
本文实例讲述了android获取当前运行Activity名字的方法,可以避免即时聊天再出现通知的情况。分享给大家供大家参考。具体方法如下: 最近在做IM时需要知道当前Activity是哪一个Activity.自己整理一下两种方法 第一种:要方便一点(Service中无法使用) 复制代码 代码如下: private String getRunningActivityName() {
Android中获取正在运行的服务:ActivityManager.RunningServiceInfo的使用
ActivityManager.RunningServiceInfo类:  封装了正在运行的服务信息   获取系统里所有真正运行的服务是通过调用ActivityManager方法来得到的,具体方法如下:   List getRunningServices (int maxNum)   功能:返回所有正在运行的服务   参数:   maxNum 代表我们希望返回的服务数目大小,一般给
Android-如何获得当前正在运行的activity和进程的相关信息
ActivityManager manager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);     RunningTaskInfo info = manager.getRunningTasks(1).get(0); //获得信息     String shortClassName = info.topActiv
Android 判断应用前后台运行状态并获取当前 Activity 实例
判断应用是否处于运行状态,如果处于运行状态是在前台运行还是在后台运行,以及如何获取应用当前展示的 Activity 实例(Activity 堆栈中的Top Activity),是 Android 开发人员经常遇到的问题
Android ADB activity和service命令
cha adb shell service list;
【Android】判断应用Application、Activity、Service是否处于活动状态
通过ActivityManager我们可以获得系统里正在运行的activities,包括进程(Process)等、应用程序/包、服务(Service)、任务(Task)信息。 1、判断应用App是否活动 /** * 判断应用是否已经启动 * @param context 一个context * @param packageName 要判断应用的包名 * @return bool