我尝试了很长一段时间的前台活动,直到现在我还没有成功。
我不知道它是否可能,但我不会仅仅在我的应用活动中出现。
我的服务和我想要获得的活动之间没有数据传输。
我看到很多这类问题,但我没有任何东西适合我的需要。
我只需要获取实例,而不是ComponentName,而不是当前前台活动的描述。
我已经尝试过ActivityThread,ActivityManager,ActivityManagerService(即使我也无法获取他的实例),等等。
Field activitiesField = activityThreadClass.getDeclaredField("mActivities");// won't help
activityManager.getRunningTasks(rnd);// won't help either
如果有任何反思方式,听众或类似的东西,但不是静态字段。
答案 0 :(得分:0)
不知道为什么要使用Activity
或其他背景信息的实例。我建议如下。
如果您在Fragment
内,那么您可以执行getActivity()
- 这将提供对Activity
的引用,然后您可以将其转换为您自己的Activity
{1}}。
否则,您可能需要考虑使用BroadcastReceiver
,它可以为您启动活动。
您不应该直接访问Activity
。如果您需要访问的方法/逻辑,可以考虑将它们重构为辅助类。
修改强>
"您的应用程序在安全的沙箱环境中运行,因此系统上的其他进程无法访问您的代码或私有数据。"取自官方Android docs