2013-05-30 5 views
0

android 함수 ShouldInterceptRequest를 사용하여 내 webview의 요청을 가로 채고 있습니다. 하지만 요청을 가로 챌 때 일부 데이터 (JSON 객체)를 보내야합니다. 안드로이드 함수가 MIME 형식, 인코딩 및 전송하려는 데이터가 포함 된 스트림을 포함하는 WebResourceResponse 객체를 반환해야한다는 것을 알고 있습니다. 나는 많은 솔루션을 시도했지만 JavaScript로 수신 된 데이터 유형을 찾을 때마다 항상 STRING이며 JSON 객체 (JSON 구문 분석을하고 싶지 않음)가 직접 필요합니다.ShouldInterceptRequest를 통해 JSON 객체 보내기

내 ShouldInterceptRequest 내의 InputStream의 자바 코드 : 그래서

stream = new ByteArrayInputStream(jsObject.toString().getBytes("UTF-8")); 
return new WebResourceResponse("application/json; charset=UTF-8", null, stream); 

직접 JSON 객체를 수신하기 위해 JSON의 스트림에 객체 (의 InputStream 또는 뭔가 다른)을 변환하는 방법이 있고 끈이 아니야?

도움을 받으려면 Thx!

답변

0

내가 찾은 해결책은 내 JavaScript를 변경하는 것입니다. MIME 형식은 아무 효과가 없습니다.

JQuery.ajax() 메소드 (http://api.jquery.com/jQuery.ajax/)를 사용하고 있는데,이 메소드의 설정에서 JSON에 dataType을 설정해주었습니다. 나는 이것이 JSON.parse를 간접적으로 수행하고 있다는 것을 알았지 만 이전에 자동으로 유형을 감지 한 브라우저에서 여전히 작동하는 것으로 보이기 때문에 구문 분석을 포착 할 필요가 없습니다. 이미 객체이기 때문에 실패합니다.

관련 문제