기본 Apps에서 Webview를로드하는 프로젝트에서 작업하고 있습니다.Android WebView - 오래된 기기에서만 페이지가로드 됨 (4.1.2)
응용 프로그램에는 이전 Android 장치 (4.1.2)에서만 올바르게로드되는 WebView가 포함되어 있습니다. 새 버전 (4.4 이상)에서는보기가 공백으로 유지됩니다.
나는 혼합 내용 설정 이미 시도 :if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
getSettings().setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW);
}
을하지만 아무것도 변경 실 거예요. handler.proceed() 함수와 동일합니다.
@Override
public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) {
handler.proceed(); // Ignore SSL certificate errors
}
웹 사이트는 자바 스크립트를 많이 포함하고, 그래서 내가 setDomStorageEnabled처럼도 다른 설정을 시도 등등 ... 가 실제로 환경 테스트 서버, 그래서 인증서가 우리 자신에 생성됩니다. 그래서 난 그냥 응용 프로그램을 테스트하고 게시 및 아마도 문제에 대해 생각하고 싶지 않아. 그러나 나는 logcat에서 오류를 얻지 못하므로, 정말로 모른다. 그 밖의 무엇이 잘못 될 수 있으며, 어떻게 더 조사 할 것인가.
감사합니다! 기술적으로 더 이상 사용되지 않는 메소드 (StringBufferInputStream) 때문에 오류가 발생했습니다. 디버거를 사용한 후에는 에뮬레이터에서만 메시지를보고 ByteArrayInputStream으로 변경했습니다. 이제 작동! – a2hur
@ a2hur 흠, 귀하의 질문에 언급되지 않았습니다. 솔직히 내가 더 이상 사용되지 않는 메소드에 대한 그 진술을 잘 잡지 않았기 때문에 그 코드를 첨부 할 수 있습니까? –
작동 코드를 사용하지 않음 : 'InputStream stream = new StringBufferInputStream (message); // [...]' 작업 코드 : 'ByteArrayInputStream stream = null; \t \t \t \t \t 시도 { \t \t \t \t \t \t 스트림 = 새이 InputStream (JsonFile.getBytes ("UTF-8")); \t \t \t \t \t} 캐치 (예외 : UnsupportedEncodingException 전자) { \t \t \t \t \t \t e.printStackTrace(); \t \t \t \t \t} \t \t \t \t \t 반환 새로운 WebResourceResponse ("텍스트/일반", "UTF-8", 스트림)' 나는이 문제에 대해 물었을 때, 나는 내가 웹보기가 올바른 처리 할 것을 thoght 및 나는 새로운 안드로이드 WebView를위한 약간의 추가가 필요하다. 크롬 디버거를 사용하여 스트림 변수에 대한 NullPointer를 받았습니다. – a2hur