假设我有一个库对象,如果发生Activity.onDestroy()
事件需要通知它。有没有办法可以在库中注册某些处理程序,或者我需要使用该库的任何人覆盖onDestroy()
并将其传递给库(非常容易出错)在编译时无法强制执行此操作)?
答案 0 :(得分:1)
您可以使您的库类实现Application.ActivityLifecycleCallbacks
,然后使用getApplication().registerActivityLifecycleCallbacks(libraryClass);
然后,您的库类将从您的应用程序接收所有活动生命周期回调。如果您只查找一个活动的生命周期事件,则ActivityLifeCycleCallbacks方法具有活动参数,您可以过滤您正在寻找的活动。