2016-05-04 1 views
1

Я использую этот код, чтобы получить pdf-файл из Интернета и показать его в WebView. Проблема в том, что мне нужно передать файлы cookie, чтобы получить доступ к этому файлу, и я должен использовать Google Viewer для показа этого файла в WebView.Android WebView, показать pdf-файл через Google Viewer с передающими кукисами

Итак, похоже, что Google Viewer не может обрабатывать мои файлы cookie. Можно ли показывать файл через Google Viewer и auth cookie? Код:

mWebView.getSettings().setJavaScriptEnabled(true); 
mWebView.getSettings().setPluginState(WebSettings.PluginState.ON); 

CookieManager manager = CookieManager.getInstance(); 
manager.setAcceptCookie(true); 
manager.setCookie(url,cookie);//PHPSESSID=blablablablablablabla;timeZone=+03:00 

mWebView.setWebViewClient(new WebViewClient()); 
mWebView.loadUrl("http://docs.google.com/gview?embedded=true&url=" + url); 

В результате, я получаю «Упс Существовал проблема отображения изображения!». сообщение. Если я пытаюсь получить доступ к url ​​напрямую без префикса Google Viewer, я получаю запрос на загрузку файла. Какие-либо предложения?

Я также пытаюсь сделать код как

url = "http://docs.google.com/gview?embedded=true&url=" + url; 
manager.setCookie(url,cookie); 
... 
mWebView.loadUrl(url); 

, но в этом случае WebView просто остается пустым.

+0

Привет, Я тоже сталкиваюсь с такой же проблемой. Получили ли вы ответ? –

+0

@SimonChius Привет! Нет, я отказался от идеи показа PDF в WebView, и теперь я просто загружаю его, чтобы показать его в другом приложении. –

+0

Привет, я нашел решение для этого, вы должны кодировать этот URL. Он отлично работает для меня. –

ответ

0

Вы должны закодировать Url и передать его в веб-представление, он будет работать нормально. mWebView.loadUrl(URLEncoder.encode(url, "UTF-8"))
Это сработало для меня.

Смежные вопросы