简体   繁体   English

Android WebView打开Https网站

[英]Android WebView open Https website

I can not open this URL: https://mima.crc.com.cn/OIMPWD/retrieveUnameController/prepareInputName.do in Android WebView (SDK >= 21 ,but it works fine <21). 我无法在Android WebView打开此URL: https : Android WebView (SDK> = 21,但<21可以正常使用)。

WebView中的错误消息

I also cannot open this URL in Chrome, but it works fine in Safari or IE. 我也无法在Chrome中打开此URL,但在Safari或IE中可以正常使用。

This is my Android code: 这是我的Android代码:

@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_forget_password);
    ButterKnife.bind(this);
    String titleStr = getIntent().getStringExtra("title");
    initToolBar(titleStr);
    webView.getSettings().setJavaScriptEnabled(true);
    webView.getSettings().setSupportZoom(true);
    webView.setWebViewClient(new WebViewClient(){
        @Override
        public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) {
            handler.proceed();
        }
    });
    webView.loadUrl("https://mima.crc.com.cn/OIMPWD/retrieveUnameController/prepareInputName.do");
}

What can I do for this issue? 该问题我该怎么办? The server can not be changed. 无法更改服务器。

  1. Have some api to ignore the SSL validation? 有一些API可以忽略SSL验证吗?
  2. Use some open source Browser? 使用一些开源浏览器? But which one? 但是哪一个呢?
  3. ?

Add these dependencies to your project level Gradle file 将这些依赖项添加到项目级别的Gradle文件中

Project Level 项目层面

dependencies {
    classpath 'com.android.tools.build:gradle:2.2.1'
    classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'
    classpath 'com.jakewharton:butterknife-gradle-plugin:8.4.0'
}

And Add this to App Level Gradle 并将其添加到App Level Gradle

App Level 应用程式等级

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
    compile 'com.android.support:appcompat-v7:23.1.1'
    compile 'com.jakewharton:butterknife:8.4.0'
    annotationProcessor 'com.jakewharton:butterknife-compiler:8.4.0'
    testCompile 'junit:junit:4.12'
}

MainActivity.java MainActivity.java

public class MainActivity extends AppCompatActivity {

    @BindView(R.id.webView1)
    WebView webView;

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

        ButterKnife.bind(this);
        String titleStr = getIntent().getStringExtra("title");
//        initToolBar(titleStr);

        webView.getSettings().setJavaScriptEnabled(true);
        webView.getSettings().setSupportZoom(true);
        webView.setWebViewClient(new WebViewClient(){
            @Override
            public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) {
                handler.proceed();
            }
        });

        webView.loadUrl("https://mima.crc.com.cn/OIMPWD/retrieveUnameController/prepareInputName.do");

    }
}

ScreenShot 屏幕截图

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM