Android 显示无法打开文件
这是我要下载的代码,然后从SD卡打开文件 但下载文件后,当我点击文件打开它时,它会显示一条Toast消息:Cannotopenfile 请告诉我错误在哪里Android 显示无法打开文件,android,pdf,file-io,Android,Pdf,File Io,这是我要下载的代码,然后从SD卡打开文件 但下载文件后,当我点击文件打开它时,它会显示一条Toast消息:Cannotopenfile 请告诉我错误在哪里 package com.pdf; import java.io.File; import android.app.Activity; import android.content.ActivityNotFoundException; import android.content.Intent; import android.net.Uri;
package com.pdf;
import java.io.File;
import android.app.Activity;
import android.content.ActivityNotFoundException;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.webkit.WebView;
import android.widget.Toast;
public class PdffileActivity extends Activity
{
WebView webview;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
webview = (WebView) findViewById(R.id.webview);
String pdf = "http://officeofthemufti.sg/MaulidBooklet.pdf";
webview.loadUrl("http://docs.google.com/gview?embedded=true&url=" + pdf);
setContentView(webview);
File file=new File("/sdcard/MaulidBooklet.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)
{
Toast.makeText(PdffileActivity.this,
"No Application Available to View PDF",
Toast.LENGTH_SHORT).show();
}
}
}
如果您想按您所说的编程方式打开它,并假设它已下载到标准的“下载”目录中,则可以将新文件的声明和实例化更改为以下内容:
File file = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS) + "/MaulidBooklet.pdf");
这确实假设您使用的是Android 2.2或更高版本
您可以使用DDMS浏览设备上的“下载”目录,检查文件是否已下载到此目录。是否安装了pdf阅读器?在catch子句中打印堆栈跟踪,如果仍然不清楚@MichałK,您将知道或发布堆栈跟踪;我仍然不清楚,请分步告诉我该怎么做。@Ovidiu Latcu:亲爱的,我想按语法打开它。。。