有没有办法在运行时找到Activity的所有上下文持有者?

时间:2015-02-19 09:18:44

标签: android reference android-context

如果获得类的上下文的唯一方法是" getContextOfMe()"至少我可以知道哪些对象试图获取上下文。

所以,我很好奇是否有某种方式(以某种方式)成为中间人,并发现对特定对象的任何上下文兴趣。

因此,我可以创建一个具有此行的函数: Log.d("MyActivity",interestedObject+" interested in my context?!");

(我知道我可以通过MAT获得有关上下文持有者的一些信息,这就是我在问题中特别添加runtime字的原因。)

1 个答案:

答案 0 :(得分:0)

没有办法成为"中间的男人"活动与其上下文之间,因为活动本身就是上下文。更确切地说,类ActivityContext的子类。

您要问的是能够检测某个活动对象何时被转发到上下文对象,这应该是不可能的,并且还会将其转换为java问题,而不是Android问题。

另一种方法是覆盖所有上下文方法并在每个方法中插入日志消息,但即便如此,根据Get objects involved in Java stacktrace,您将无法在运行时获取调用对象。