2013-10-01 1 views
2

У меня есть html-страница со ссылкой на локальный файл pdf. Я хочу открыть этот pdf-файл внутри браузера (хром, опера, дельфин) без активного подключения к Интернету. Можете ли вы узнать плагин, который может открыть pdf-файл (без загрузки) внутри браузера или метода или что-то еще?Как открыть файл pdf внутри браузера Android?

+1

Покажите нам свои R & D, которые вы сделали до сих пор. Вы пытались выполнить поиск в Stackoverflow? –

+0

Я ищу вторую неделю. Но docs.google не подходит (требуется активное соединение), набор плагинов (идеальный просмотрщик pdf, kingsoft office e.t) не помогает решить проблему. – isxaker

ответ

2

К сожалению нативный браузер присутствует на Android устройств не поддерживает этот тип файла. Посмотрим, получится ли в 4.0+ это сделать.

+0

Какие типы файлов отключены? – isxaker

2

Решение, которое я использовал один раз, - это открыть их с помощью Документов Google.

_webView.loadUrl("https://docs.google.com/gview?embedded=true&url="+ url); 
+0

без активного подключения к Интернету – isxaker

1

Использование ниже код:

CustomWebView webView = (CustomWebView) rootView.findViewById(R.id.webView); 
webView.loadUrl("https://docs.google.com/gview?embedded=true&url=" + yourUrl); 

Make CustomWebView класс, как показано ниже:

public class CustomWebView extends WebView { 
    private Context context; 

    private ProgressDialog progressDialog; 

    public CustomWebView(Context context) { 
     super(context); 
     this.context = context; 
     init(); 
    } 

    public CustomWebView(Context context, AttributeSet attrs) { 
     super(context, attrs); 
     this.context = context; 
     init(); 
    } 

    public CustomWebView(Context context, AttributeSet attrs, int defStyle) { 
     super(context, attrs, defStyle); 
     this.context = context; 
     init(); 
    } 

    private void init() { 
     setWebSetting(); 
    } 

    private void setWebSetting() { 
     WebSettings webSettings = getSettings(); 
     webSettings.setJavaScriptEnabled(true); 
     webSettings.setPluginsEnabled(true); 
     webSettings.setBuiltInZoomControls(true); 
     webSettings.setRenderPriority(WebSettings.RenderPriority.HIGH); 
     webSettings.setLightTouchEnabled(false); 
     setScrollBarStyle(SCROLLBARS_OUTSIDE_OVERLAY); 
     setWebViewClient(new CustomWebViewClient()); 
    } 

    class CustomWebViewClient extends WebViewClient { 
     @Override 
     public boolean shouldOverrideUrlLoading(WebView view, String url) { 
      return false; 
     } 

     @Override 
     public void onPageStarted(WebView view, String url, Bitmap favicon) { 
      super.onPageStarted(view, url, favicon); 
      progressDialog = ProgressDialog.show(context, null, 
        context.getString(R.string.msg_please_wait)); 
      progressDialog.setCancelable(false); 
     } 

     @Override 
     public void onPageFinished(WebView view, String url) { 
      super.onPageFinished(view, url); 
      progressDialog.dismiss(); 
     } 
    } 
} 
+0

без активного подключения к Интернету – isxaker

+0

Для использования этого подхода вам необходимо активное подключение к Интернету. – Swetank