android webview pdf 查看

标签 android pdf webview google-docs

我正在构建一个应允许用户在 Web View 中单击指向 pdf 文档的链接并将其显示在 View 中的应用程序。我正在使用谷歌文档查看 pdf 文件,但我的问题是我只希望该方法适用于 pdf 链接而不是每个链接,这是我的代码:

public class HelloWebViewActivity extends Activity 
{
WebView mWebView;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) 
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    mWebView = (WebView) findViewById(R.id.webview);
    mWebView.getSettings().setJavaScriptEnabled(true);
    mWebView.loadUrl("https://nuigalway.blackboard.com/webapps/login/");
    mWebView.setWebViewClient(new HelloWebViewClient());

}

private class HelloWebViewClient extends WebViewClient 
{
    @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url)
    {
        String googleDocs = "https://docs.google.com/viewer?url="; 
        mWebView.loadUrl(googleDocs + url);
        return true;
    }
}

@Override
public boolean onKeyDown(int keyCode, KeyEvent event)
{
    if ((keyCode == KeyEvent.KEYCODE_BACK) && mWebView.canGoBack())
    {
        mWebView.goBack();
        return true;
    }
    return super.onKeyDown(keyCode, event);
}

}

我认为错误出在 shouldOverrideUrlLoading 方法中。只有在 web View 中单击文件本身时,是否有任何方法允许我打开 pdf url?

最佳答案

您的 shouldOverrideUrlLoading 逻辑不正确。 url 参数是被点击的 url。所以你想拦截任何 pdf 链接,但让 webview 正常处理所有其他 url。

    @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url)
    {
        if (url.endsWith(".pdf"))
        {
            // Load "url" in google docs
        }
        else
        {
            // Load all other urls normally.
            view.loadUrl(url);
        }

        return true;
     }

关于android webview pdf 查看,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9455425/

相关文章:

带有pdf的ie11中的javascript框架导航

android - 如何解决 okhttp3.internal.http2.StreamResetException : stream was reset: REFUSED_STREAM in Retrofit POST request

java - Android 扩展列表适配器 : ArrayAdapter requires the resource ID to be a TextView

java - 如何将字符串转换为矩阵,然后转换为位图(Android studio,java)

c# - 当我使用 iText 从 PDF 文件中提取文本时,我从以前的页面中获取值

ios - Cordova IOS webview 界面随机无响应

java - Android recyclerview 向上滚动时加载更多数据

ios - 在 Objective-C 中从 PDF 中提取可编辑字段

html - 打印 (Cocoa) WebView 内容会生成剪切图像

objective-c - NS按钮 : Action on Element within a Custom View