我制作了一个Android应用程序。 我创建了一个可扩展的列表,当我点击一个孩子时,我想打开一个PDF。 PDF未打开,显示的内容来自no_application_found(“PDF无法打开”)。 打开PDF的代码是:
public boolean onChildClick (
ExpandableListView parent,
View v,
int groupPosition,
int childPosition,
long id) {
Log.d( LOG_TAG, "onChildClick: " + childPosition );
File file = new File("http://www.ratt.ro/grafice/e2-a.pdf");
Uri path = Uri.fromFile(file);
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.setDataAndType(path, getString(R.string.application_type));
try
{
startActivity(intent);
}
catch (ActivityNotFoundException e)
{
Toast.makeText(ElistCBox.this,
getString(R.string.no_application_found),
Toast.LENGTH_SHORT).show();
}
return false;
}
答案 0 :(得分:3)
这是您在网络视图中打开PDF的方式:
webview.loadUrl("http://docs.google.com/gview?embedded=true&url=http://www.ratt.ro/grafice/e2-a.pdf");
答案 1 :(得分:0)
以下是我在阅读器中打开PDF文件的代码,如果用户没有任何PDF阅读器,则会打开链接到Google Play下载一个:
void openpdf (String filename)
{
String loc = "/sdcard/";
File file = new File(loc+filename);
Uri path = Uri.fromFile(file);
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(path, "application/pdf");
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
try {
startActivity(intent);
} catch (Exception e) {
e.printStackTrace();
Toast.makeText(getApplicationContext(), "No pdf reader installed", Toast.LENGTH_SHORT).show();
Intent market = new Intent(Intent.ACTION_VIEW);
market.setData(Uri.parse("market://details?id=com.adobe.reader"));
startActivity(market);
}
}