首页 > 解决方案 > 当我在 android studio 中将我的网站用作 Web 应用程序时,Firebase 身份验证不起作用

问题描述

我有一个使用 Firebase 身份验证来注册/登录用户的网页。我决定使用 Android Studio 的 webView 功能将网页转换为应用程序。我已经能够加载 web url,但是当我尝试登录时,它不起作用。我不认为 firebase auth 在这里工作。

我是一名网络开发人员,而不是应用程序开发人员,但我正在关注一些在线教程,以使用 Android Studio 中的 WebView 将网站转换为应用程序。

为了使firebase在网络应用程序中工作,我需要添加任何东西吗?

Android Studio 代码(MainActivity.java):

package com.example.indianrobostore;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.webkit.WebResourceRequest;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;

public class MainActivity extends AppCompatActivity {

WebView webView;
WebSettings webSettings;
private String webURL = "my website url";
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    webView = (WebView) findViewById(R.id.myWebView);
    webSettings = webView.getSettings();
    webSettings.setJavaScriptEnabled(true);
    webView.loadUrl(webURL);

    webView.setWebViewClient(new WebViewClient(){
        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            view.loadUrl(url);
            return true;
        }
    });
}
}

XML 文件:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MainActivity">

<WebView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:id="@+id/myWebView"/> 
</LinearLayout>

任何帮助,将不胜感激。谢谢!

标签: androidfirebaseauthenticationweb-applicationswebview

解决方案


好的,我浏览了几篇文章,发现我需要启用 DOM 存储才能使其工作。

代码 :webSettings.setDomStorageEnabled(true);


推荐阅读