gpt4 book ai didi

javascript - web 中的 firebase google 身份验证不适用于 android app webview

转载 作者:行者123 更新时间:2023-12-04 12:42:26 25 4
gpt4 key购买 nike

我正在创建一个使用 firebase google 身份验证登录的网站。它在所有浏览器中都运行良好。但是,当我将此网站作为 webview 添加到我的应用程序中时,它不起作用。

显示此错误的网站:

This operation is not supported in the environment this application is running on. "location.protocol" must be http, https or chrome-extension and web storage must be enabled.

下面是一些代码:

javascript 代码:

function login(){
console.log('login called');
function newLoginHappend(user){
if(user){
model_questions(user);
}else{
var provider = new firebase.auth.GoogleAuthProvider();

firebase.auth().signInWithPopup(provider).then(function(result) {
// This gives you a Google Access Token. You can use it to access the Google API.
var token = result.credential.accessToken;
// The signed-in user info.
var user = result.user;
// ...
}).catch(function(error) {
// Handle Errors here.
var errorCode = error.code;
var errorMessage = error.message;
// The email of the user's account used.
var email = error.email;
// The firebase.auth.AuthCredential type that was used.
var credential = error.credential;
// ...
});
}
}

firebase.auth().onAuthStateChanged(newLoginHappend);
}

window.onload = login();

WebView 代码:

   WebSettings webSettings =webView.getSettings();
webSettings.setJavaScriptEnabled(true);
webView.setWebViewClient(new WebViewClient());
webView.loadUrl("https://mahmud-cse16.github.io/CBAP_Handout/");

有什么方法或技巧可以解决这个问题吗??如果您有任何想法,请与我们分享。

谢谢

最佳答案

尝试为 webview 启用 DOM 存储

WebSettings webSettings = myWebView.getSettings();
webSettings.setDomStorageEnabled(true); // localStorage

设置是否启用 DOM 存储 API。默认值为 false。

Android Developer Reference

关于javascript - web 中的 firebase google 身份验证不适用于 android app webview,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56915557/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com