【发布时间】:2011-12-19 13:41:10
【问题描述】:
有没有办法知道谁是应用程序调用者?
这些是几个用例:
- 我有一个应用程序和它的一个小部件。应用程序未运行。一旦我添加/删除小部件,系统就会调用应用程序来运行(调用
Application.onCreate()等等)。所以我需要知道这不是用户按下图标来运行应用程序,而是系统需要更新小部件。 - 当我的内存不足时,系统会终止应用程序,然后在内存足够时再次恢复它。问题同上。
- 更多类似案例...
我可以管理的唯一情况是BootUpReceiver,它是从BroadcastReceiver 扩展而来的。只有在这种情况下,我才能确定应用程序是由“启动时启动”功能运行的。
我需要确定——谁(什么服务、接收者、意图等)为什么调用我的应用程序。
有没有办法知道调用者来源、调用者 ID 或有关服务或调用我的应用程序运行的任何其他人的任何信息?
【问题讨论】:
-
请尝试改写您的问题
-
我是否理解正确:您所描述的场景可能会导致应用程序运行,并且您希望在运行时知道触发应用程序启动的事件?
-
是的,完全正确。
-
在您确定的案例中,您从 getCallingActivity() 中得到了什么?
标签: android android-intent android-widget android-service