내 활동에는 특정 URL을 선택하여 WebView 컨트롤에서 열어 사용자에게 인증 페이지 (사용자 이름/암호)를 제공하는 인 텐트 필터가 있습니다. 인증이 끝나면 사용자는 바이너리 스트림 응답 (파일)을 받게됩니다. 해당 응답을 처리하고 스트림에서 데이터를 읽는 방법이 있습니까?WebView에서 이진 데이터 응답을 처리하는 방법
오버 라이드 된 shouldOverrideUrlLoading 메서드를 사용하여 사용자 지정 WebViewClient를 설치하려고했지만 앱이 거기에 가지 않습니다.
@Override
mMyWebView.setWebViewClient(new CustomWebClient());
mMyWebView.loadUrl("http://xxx.xx.x.xx:xxxx/getCert");
...
private class CustomWebClient extends WebViewClient
{
@Override
public boolean shouldOverrideUrlLoading (WebView view, String urlConection)
{
// break point here doesn't stop debugger
return true;
}
}
도
mMyWebView.setWebViewClient(new WebViewClient(){
@Override
public boolean shouldOverrideUrlLoading (WebView view, String urlConection)
....
});
서버가 모두 내 응용 프로그램에서 같은 방법으로 요청에 반응하고 구축 된 브라우저 작동합니다. 빌드 - 인 브라우저가 응답으로받은 파일을 다운로드하기 시작하지만, 내 애플 리케이션은 아무 것도하지 않고 CustomWebClient 내에서 중단 점에 도달하지 않습니다. 이 부분을 테스트하기위한 별도의 앱으로 다른 부분은이 부분을 간섭하지 않습니다. 인터넷 & WRITE_EXTERNAL_STORAGE 사용 권한이 추가되었습니다.
편집 : 3 월 8 일 양육하십시오. httpClient와 함께 갈 것입니다.
좋은 질문입니다. 가능한지 알고 싶습니다. 불행히도 WebView가 렌더링 한 웹 페이지를 제어 할 수는 없습니다. 이 작업을 수행하는 방법을 알고있는 유일한 방법은 PhoneGap을 구현하여 웹 코드를 앱과 통합하는 것입니다. – bbedward
그것이 사실이라면 그것은 짜증이납니다. 아직 WebView의 구현을 재 작성하거나 (사소한 일은 아님) WebServices로 가서 HttpClient를 통해 통신을 구현하는 옵션이 있습니다. – Maxim
코드가 괜찮은 것처럼 보이고 중단 점에 도달해야합니다 ... 다른 곳에서 문제가 발생했을 수 있습니다. – Caner