0

嗨,我是 android 开发的新手。我通过ddms手动将pdf文件保存在模拟器sdcard中,当我尝试使用以下代码在模拟器中读取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();
        }

我收到文件路径无效错误。

任何人都可以帮助我。

4

4 回答 4

0

在和之间使用%20(用于空格)。iTunes20Connect.pdf

File file = new File(Environment.getExternalStorageDirectory().getAbsolutePath()+"/iTunes%20Connect.pdf");

我认为这将解决您的问题

于 2013-01-16T06:07:54.120 回答
0

试试这条路

File file=new File("/sdcard/iTunes Connect.pdf");

我认为这对你有用

于 2013-01-16T06:08:01.330 回答
0

我认为你的模拟器没有安装adob 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`
于 2014-07-13T11:25:12.830 回答
0

我认为你不应该使用硬编码的文件路径。该框架将为您提供要保存文件的区域的基本路径。

对于 SD 卡,您应该使用 Environment.getExternalStorageDirectory()

您应该使用的本地文件,使用 Context.getFilesDir() (或 Context.openFileOutput(String name, int mode) 等)

你应该使用本地缓存,使用 Context.getCacheDir()

对于模拟器,您可以尝试 File file=new File("mnt/sdcard/iTunes Connect.pdf");

于 2013-01-16T06:22:46.160 回答