मेरे एंड्रॉइड एप्लिकेशन में मुझे WebView
के अंदर तीसरे पक्ष के पंजीकरण फॉर्म को प्रदर्शित करने की आवश्यकता है। दुर्भाग्यवश, मुझे एंड्रॉइड संस्करण < 4.3 का समर्थन करने की आवश्यकता है, जहां आप वेबसाइट से कनेक्ट करते समय SSL हैंडशेक त्रुटि प्राप्त करते हैं। हालांकि, मैं कस्टम एसएसएल संदर्भ के साथ एंड्रॉइड 4.1+ पर सीधे अनुरोध करने में सक्षम था, जिसमें टीएलएस 1.1 स्पष्ट रूप से सक्षम है, लेकिन मैं इस एसएसएल संदर्भ को मेरे WebView
में पास नहीं कर सकता। मैं कस्टम WebViewClient
एंड्रॉइड के लिए वेबव्यू में टीएलएस 1.1, 1.2 <= 4.3
private WebViewClient webViewClient = new WebViewClient() {
@Override
public void onPageFinished(WebView webView, String url) {
if (presenter != null) {
presenter.onLoadFinished();
}
}
@Override
public void onReceivedError(WebView webView,
WebResourceRequest request,
WebResourceError error) {
if (presenter != null) {
presenter.onLoadError();
}
}
@Override
public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error){
handler.proceed();
}
@Override
public boolean shouldOverrideUrlLoading(WebView webView, String url) {
Request request = new Request.Builder().url(url).build();
final Handler handler = new Handler(mContext.getMainLooper());
//mOkHttpClient is an OkHttpClient with my custom SSLContext which has TLS 1.1 and TLS 1.2 enabled
mOkHttpClient.newCall(request).enqueue(new Callback() {
@Override
public void onFailure(Call call, IOException e) {
}
@Override
public void onResponse(Call call, final okhttp3.Response response) throws IOException {
handler.post(new Runnable() {
@Override
public void run() {
try {
webView.loadDataWithBaseURL(
null, response.body().string(), "text/html", "utf-8", null);
} catch (IOException e) {
e.printStackTrace();
}
}
});
}
});
}
};
करने की कोशिश की लेकिन वह shouldOverrideUrlLoading
के बाद से काम नहीं किया पोस्ट अनुरोध पर बुलाया नहीं है।
क्या यह काम करने का कोई तरीका है (शायद WebView
पर कुछ विकल्प)? किसी भी मदद की सराहना की है।
धन्यवाद, यह बहुत अच्छी तरह से काम करता है। – satorikomeiji
https://crosswalk-project.org/documentation/android/embedding_crosswalk.html –