如何在不使用常规活动生命周期事件的情况下检测/拦截应用程序生命周期事件
Posted
技术标签:
【中文标题】如何在不使用常规活动生命周期事件的情况下检测/拦截应用程序生命周期事件【英文标题】:How to detect/intercept application life cycle events without using the conventional activity life cycle events 【发布时间】:2013-09-18 04:32:41 【问题描述】:我想知道是否有任何合法的方法可以从后台服务/线程获取有关活动/应用程序生命周期事件的信息。 实际上,我有一个库项目,我想在其中拦截这些调用,以便在使用我的库的应用程序进入后台或再次出现时处理场景。
这个问题的出现是因为我的库默认不提供任何活动,它实习生返回视图对象,以便应用程序开发人员可以在他们的活动中使用相同的对象。
所以我无法访问活动生命周期回调。
一种可能的方法是:
我为应用程序开发人员创建的每个活动注册了一个侦听器,并且需要从应用程序开发人员的 onResume 和 onPause() 调用侦听器回调,通过这种方式,我可以让这个回调被后台拦截服务,因此我将能够控制 onResume 、 onPause 等中的应用程序行为。
我想知道有没有其他有效/更好的方法来处理这个用例。
谢谢
【问题讨论】:
【参考方案1】:有一种方法可以确定您的项目中是否正确使用了 Activity 生命周期。
在 4.X android 版本设备中,您可以在设置中看到“开发者设置”。在开发者设置中,您必须启用“不保留活动”,它会尽快销毁后台的所有活动。
在这种情况下,您的应用 Activity 不应崩溃,如果它崩溃,您的 Activity 不会遵循 Android Activity 生命周期。
这里是链接供您参考:http://developer.android.com/training/basics/activity-lifecycle/index.html
我希望,这可以帮助你一点点。 :)
【讨论】:
它不是在测试/开发时我想在实际应用程序的运行时进行拦截。以上是关于如何在不使用常规活动生命周期事件的情况下检测/拦截应用程序生命周期事件的主要内容,如果未能解决你的问题,请参考以下文章