Используйте этот код и дайте мне знать, если он работает для вас Помните, что он не будет открывать PDF в WebView
Intent viewPdfIntent = new Intent(Intent.ACTION_VIEW);
viewPdfIntent.setData(Uri.parse("http://54.64.229.48/dev/sites/default/files/final_features%20for%20Oh%2527%20My%20Concierge_29_06_2018.pdf"));
viewPdfIntent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
if (viewPdfIntent.resolveActivity(getPackageManager()) != null) {
startActivity(viewPdfIntent);
}
А для WebView вы можете использовать
private void setUpWebView(String documentUrl) {
webView.setWebViewClient(new AppWebViewClients());
webView.getSettings().setJavaScriptEnabled(true);
webView.getSettings().setUseWideViewPort(false);
webView.loadUrl("http://docs.google.com/gview?embedded=true&url="
+ documentUrl);
}
и
public class AppWebViewClients extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
// TODO Auto-generated method stub
view.loadUrl(url);
return true;
}
@Override
public void onPageFinished(WebView view, String url) {
// TODO Auto-generated method stub
super.onPageFinished(view, url);
}
}
Не забудьте добавить в manifest.xml
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />