java - 使用 webview 时,我的一些网站在 Chrome 中打开,而不是直接在应用程序中打开

标签 java android

我正在尝试使用 Android Studio 为我们的论坛制作一个 Android 应用程序。 我们在程序中使用 webview,以便我们可以在应用程序中显示我们制作的网站 ( http://henryslifeisajokeapp.tk )。

一切运行正常,直到用户尝试单击注册或登录按钮,然后应用程序会自动在 Chrome 或默认网络浏览器中打开该网站。

但是,登录浏览器后,应用程序本身并未登录,只有浏览器登录。

如果有帮助,我们将不胜感激。我使用的是android studio 3.4.1

我正在手机上运行该程序,它运行良好,该网站可以访问,但无法执行我上面列出的操作。

package com.example.forums6;

import androidx.appcompat.app.AppCompatActivity;

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

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        WebView webview = new WebView(this);
        setContentView(webview);
        webview.getSettings().setDomStorageEnabled(true);
        webview.getSettings().setJavaScriptEnabled(true);

        webview.loadUrl("http://henryslifeisajokeapp.tk");



    }

最佳答案

要打开 Web View 中的链接,您必须为 Web View 设置 WebViewClient

webview.setWebViewClient(new MyWebViewClient());

这是自定义 WebViewClient 的代码

private class MyWebViewClient extends WebViewClient {
  @Override
  public boolean shouldOverrideUrlLoading(WebView view, String url) {
        view.loadUrl(url);
        return true;
  }
}

将上述类添加到您的 MainActivity.java 文件中

如果您愿意,您可以控制 WebView 打开的链接。要了解更多信息,请查看docs

关于java - 使用 webview 时,我的一些网站在 Chrome 中打开,而不是直接在应用程序中打开,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56824698/

相关文章:

java - 在 Visual Studio 2015 上查找 Android/Java SDK 时出错系统错误

java - 在 Java 中将泛型类型与枚举相关联

android - 用android捕捉按键

Android - 将代码添加到 fragment

android editText限制字符串长度而不是字符

android - 在状态栏上方显示 View ?

java - 调整圆形数组的大小,在双端队列实现中

java - 优雅地处理 EJB/JPA 环境中的约束违规?

java - MySQL数据库查询率高的Java程序如何优化

Android - 如何定位 4 个 TextView ?