0

こんにちは私はAndroid開発に不慣れです。ddmsを介してエミュレータsdcardにPDFファイルを手動で保存しました。また、次のコードを使用してエミュレータでpdfファイルを読み取ろうとしたときに、エミュレータに「adobereader 」をインストールしました。

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

このパスを試してみてください

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

私はこれがあなたのために働くと思います

于 2013-01-16T06:08:01.330 に答える
0

との間に%20(空白の場合)使用します。iTunes20Connect.pdf

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

これで問題は解決すると思います

于 2013-01-16T06:07:54.120 に答える
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 に答える
0

お使いのエミュレータにはAdobeReaderがインストールされていないと思います。最初にインストールされているかどうかを確認してください

 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 に答える