2014-01-28 79 views
0

我工作在一个应用程序,我将在我的学校使用。这个应用程序是为了阅读我的家庭作业等。所有这些都存储在学校服务器上的pdf文件中,并可供所有学生使用。我的应用程序是基于webview的,每当我尝试加载PDF时,它都不会工作。她是android代码。Android的webView将无法加载pdf

package com.example.emneplanappen; 

import android.os.Bundle; 
import android.annotation.SuppressLint; 
import android.app.Activity; 
import android.view.Menu; 
import android.webkit.WebSettings; 
import android.webkit.WebView; 
import android.webkit.WebViewClient; 

@SuppressLint("SetJavaScriptEnabled") 
public class MainActivity extends Activity { 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    WebView wv = (WebView) findViewById(R.id.webView); 
    wv.setWebViewClient(new WebViewClient()); 
    wv.loadUrl("http://emneplanappen.netai.net/"); 
    WebSettings webSettings = wv.getSettings(); 
    webSettings.setJavaScriptEnabled(true); 
} 

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    // Inflate the menu; this adds items to the action bar if it is present. 
    getMenuInflater().inflate(R.menu.main, menu); 
    return true; 
} 

} 

下面是HTML代码:

<html> 
<script type="text/javascript"> 
function nav(){ 
window.location.href =   'http://tromstun.tromsoskolen.no/files/2013/10/emneplanhefte_9e_uke_40_42.pdf';  
} 
</script> 
<head> 
<meta charset="utf-8"> 
<meta http-equiv="refresh" content="0; url=http://tromstun.tromsoskolen.no/files/2013/10/emneplanhefte_9e_uke_40_42.pdf" /> 
</head> 
<body> 
<div align="center"> 
<h1>Hvis du kan se dette kan det hende noe gikk galt klikk på knappen under for å prøve  igjen</h1> 
<br> 
<button onClick="nav();"  href="http://tromstun.tromsoskolen.no/files/2013/10/emneplanhefte_9e_uke_40_42.pdf">Klikk  her</button> 
</div> 
</body> 
</html> 

一些代码的发布时有奇怪的间距问题。 srry d:

任何帮助,将不胜感激

回答

2

有Android中没有办法在网页视图来查看PDF文件就像iOS上的UIWebView一样。

这里是你的选择:

  • 使用第三方库
    有一些免费的图书馆,但大多数是GPL - 所以不适合在封闭源代码的应用程序使用)
    如果你不这样做必须保持您的应用程序关闭源,我会推荐例如此库:https://github.com/JoanZapata/android-pdfview

  • 使用Google文档,如this question