【发布时间】:2018-03-22 11:39:10
【问题描述】:
我正在创建一个具有 WebView 的 Android 应用程序,该应用程序可以访问我使用 Firebase 托管托管的网站。
如果我使用电子邮件/密码凭据登录网站,然后刷新或导航到另一个页面,Firebase 会丢失我的登录信息。
我试图强制 Firebase 使用 firebase.auth().setPersistence(firebase.auth.Auth.Persistence.LOCAL) 保留我的凭据,但它在 WebView 控制台中引发了此错误:
未捕获的错误:当前环境不支持指定的持久性类型。
附带说明一下,我尝试登录其他服务,例如 YouTube 和 Google,以查看是否是浏览器缓存问题,但会话仍然正常持续,即使在我刷新页面、导航或重新打开 Android 之后也是如此应用程序。
我还使用模拟器(运行 Android 8.0)和手机(Android 6.0)测试了 Android 应用。
有人知道这里发生了什么吗?
【问题讨论】:
-
您是否使用
firebase.auth().onAuthStateChanged来获取Auth 状态? -
@bojeil 是的,我是
-
您是否在 web 视图中禁用了 web 存储?是否启用了 localStorage?
-
我回家后会检查一下。但我很确定我没有禁用任何东西。只是按照此页面中的示例进行操作:developer.chrome.com/multidevice/webview/gettingstarted
-
我最近没有做很多android开发,但我以前必须在webview上启用它:
webview.getSettings().setDomStorageEnabled(true);
标签: android firebase webview firebase-authentication firebase-hosting