正在用 Android Activity 注册 "onDestroy event handler"

Registering "onDestroy event handler" with Android Activity

假设我有一个库对象,需要在 Activity.onDestroy() 事件发生时通知它。有没有一种方法可以让我从库内部用 Activity 注册某种处理程序,或者我是否需要要求任何使用该库的人覆盖 onDestroy() 并将其传递给库(非常错误-容易发生,因为无法在编译时强制执行此操作)?

您可以让您的库 class 实现 Application.ActivityLifecycleCallbacks 然后使用 getApplication().registerActivityLifecycleCallbacks(libraryClass);

注册它

然后您的库 class 将从您的应用程序接收所有 activity 生命周期回调。如果您只查找一个 activity 的生命周期事件,ActivityLifeCycleCallbacks 方法具有 Activity 参数,您可以过滤您要查找的 activity。