0

有没有办法在 中获取或有关应用程序如何启动 ( , , )Intent的任何其他信息,而不向所有可以午餐应用程序的类添加代码(请记住,我可以'不要覆盖。BroadcastReceiverServiceActivityApplication

我在界面中找不到任何Context可以检索任何数据的东西。我考虑过使用类加载器,并以某种方式查询哪些类已加载到内存中。

4

1 回答 1

1

有没有办法在应用程序中获取 Intent 或有关应用程序如何午餐的任何其他信息(BroadcastReceiver、Service、Activity),而无需向所有可以午餐应用程序的类添加代码(请记住,有我无法覆盖的库类。

在 API 级别 14+ 上,您Application可以调用registerActivityLifecycleCallbacks(),之后将为您应用内活动的所有生命周期方法调用它。使用它,您可以调用提供给回调getIntent()的that。Activity

然而:

  • 这仅适用于 API 级别 14+

  • 这仅适用于活动,不适用于其他组件

  • 由于onNewIntent()不包含在回调中,因此您只能轻松获取Intent启动活动的原始数据,而不是任何Intent导致现有实例返回前台的原始数据(如果这很重要)

于 2013-11-04T13:53:24.473 回答