首页 > 解决方案 > 在构建 Android 库时,我可以使用什么模式来支持 Activity 中配置的回调

问题描述

我正在为我们的平台构建一个 Android 库,我正在努力解决如何让我的用户传递一个在库中特定时间被调用的函数。

该库启动一个活动,该活动有一些指向我的 https API 的服务类。(过度简化,但希望这已经足够详细了)

我想为我的用户提供一种方法来传递一个为 API 生成身份验证令牌的回调,允许他们自己生成它。也许界面可能看起来像String getAuthToken().

但是我怎样才能在不丢失状态的情况下做到这一点呢?当库启动时,我从单例开始(它为库的主要活动启动了一个 Intent),但是当进程被终止并且您尝试返回它时,应用程序当然会崩溃,单例是之前设置的活动开始了。

我是否遗漏了 Java 或 Android 中解决此问题的一些明显模式?

标签: javaandroidandroid-activitycallbacksingleton

解决方案


为什么在单例中需要一个活动上下文?这看起来像是一个糟糕的设计。您不需要它来发出网络请求。

当您展示一个活动时,您可以控制它所涉及的所有生命周期。是的,当您旋转屏幕时,android会重新创建它,这让您感到非常痛苦,但为此,您可以使用ViewModels

在此处输入图像描述


推荐阅读