【发布时间】:2015-03-20 12:30:48
【问题描述】:
我有两种读法 第一个:Pdf 从 url OnWebView 读取:它的工作 第二:Pdf 从本地路径读取 OnWebView:dosent working
(/data/data/com.akfix.navigationdrawer/files/550192f3a1583.pdf)
第二张图表不工作。而且我没有任何错误日志。我在做什么,
这里是我的 Pdf 阅读器课程;
public class PdfReader extends Activity {
String pdf;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_pdf_reader);
WebView webview = (WebView) findViewById(R.id.webView3);
Bundle extras = getIntent().getExtras();
if (extras != null) {
pdf = extras.getString("pdfUrl");
if (extras.getString("catalogPdfUrl") != null) {
String pdfPath = extras.getString("catalogPdfUrl");
Uri path = Uri.parse(pdfPath);
viewPdf(path);
} else {
webview.getSettings().setJavaScriptEnabled(true);
pdf.replaceAll("\"", "");
webview.loadUrl("http://docs.google.com/gview?embedded=true&url=" + pdf);
}
}
}
private void viewPdf(Uri file) {
Intent intent;
intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(file, "application/pdf");
try {
startActivity(intent);
} catch (ActivityNotFoundException e) {
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("No Application Found");
builder.setMessage("Download one from Android Market?");
builder.setPositiveButton("Yes, Please",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Intent marketIntent = new Intent(Intent.ACTION_VIEW);
marketIntent
.setData(Uri
.parse("market://details?id=com.adobe.reader"));
startActivity(marketIntent);
}
});
builder.setNegativeButton("No, Thanks", null);
builder.create().show();
}
}
}
请帮帮我。
【问题讨论】:
-
既然是本地的,为什么需要在webview中显示呢?
-
因为我的老板很旺 :)
-
github.com/JoanZapata/android-pdfview ,我在我的应用程序中使用过这个库,简直太棒了@user3003883
-
如果对你有帮助,请在下方接受我的回答
标签: android webview pdf-reader