嗨,我是Android开发新手。我通过ddms在emulator sdcard中手动保存了一个pdf文件,当我试图在模拟器中读取pdf文件时,我还在模拟器中安装了“ adobe reader ” 使用以下代码
File file =
new File(Environment.getExternalStorageDirectory().getAbsolutePath()+"/iTunes Connect.pdf");
Uri path = Uri.fromFile(file);
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.setDataAndType(path,"application/pdf");
try
{
startActivity(intent);
}
catch (ActivityNotFoundException e)
{
Toast.makeText(xv.this,
getString(R.string.app_name),
Toast.LENGTH_SHORT).show();
}
我收到的文件路径无效错误。
任何人都可以帮助我。
答案 0 :(得分:0)
在%20
和iTunes
之间使用20Connect.pdf
(用于空格)。
File file = new File(Environment.getExternalStorageDirectory().getAbsolutePath()+"/iTunes%20Connect.pdf");
我认为这将解决您的问题
答案 1 :(得分:0)
尝试这条路径
File file=new File("/sdcard/iTunes Connect.pdf");
我认为这适用于你
答案 2 :(得分:0)
我认为你不应该使用硬编码文件路径。 该框架将为您提供要将文件保存到的区域的基本路径。
对于SD卡,您应该使用Environment.getExternalStorageDirectory()
你应该使用本地文件,使用Context.getFilesDir()(或Context.openFileOutput(String name,int mode)等)
你应该使用本地缓存,使用Context.getCacheDir()
对于模拟器,您可以尝试File file = new File(“mnt / sdcard / iTunes Connect.pdf”);
答案 3 :(得分:0)
我认为你的模拟器没有adobe reader安装请先检查它是否安装
File file = new File(Environment.getExternalStorageDirectory().getAbsolutePath() +"/"+ filename);
Intent target = new Intent(Intent.ACTION_VIEW);
target.setDataAndType(Uri.fromFile(file),"application/pdf");
target.setFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
Intent intent = Intent.createChooser(target, "Open File");
try {
startActivity(intent);
} catch (ActivityNotFoundException e) {
// Instruct the user to install a PDF reader here, or something
} `enter code here`