kkooff114
kkooff114

Reputation: 205

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).

Error message in WebView

I also cannot open this URL in Chrome, but it works fine in Safari or IE.

This is my Android code:

@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?
  2. Use some open source Browser? But which one?
  3. ?

Upvotes: 0

Views: 2032

Answers (1)

MashukKhan
MashukKhan

Reputation: 1954

Add these dependencies to your project level Gradle file

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

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

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

Upvotes: 2

Related Questions