我尝试打开pdf,但是当我按下按钮时,没有任何反应。 我的错误在哪里?
OnClickListener oclBt2 = new OnClickListener(){
public void onClick(View v) {
File file = new File("http://testserv1.p.ht/1/ksu016.pdf");
if (file.exists()) {
Uri path = Uri.fromFile(file);
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(path, "application/pdf");
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
try {
startActivity(intent);
}
catch (ActivityNotFoundException e) {
e.printStackTrace();
}
}
}
};
我更正了我的代码,但它不再有效:(当我按下按钮时,显示window(抱歉,但我的声誉不允许发布图片)
OnClickListener oclBt2 = new OnClickListener(){
public void onClick(View v) {
Uri path = Uri.parse("http://testserv1.p.ht/1/ksu016.pdf");
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(path, "application/pdf");
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
try {
startActivity(intent);
}
catch (ActivityNotFoundException e) {
mWebView.loadUrl("https://docs.google.com/gview?embedded=true&url=http://hostforandroid.elitno.net/pdf-test.pdf" );
setContentView(mWebView);
}
}
};
答案 0 :(得分:1)
首先,File
用于本地文件,而不是http
网址。使用Uri.parse("http://testserv1.p.ht/1/ksu016.pdf");
获取指向Uri
网址的http
。
其次,可能没有设置为直接从HTTP URL下载的PDF查看器。为了获得更好的兼容性,您可以先安排下载PDF(使用DownloadManager
或您自己的HTTP客户端代码),然后查看本地PDF文件。