2013-01-16 116 views
0

打開Android模擬器PDF文件您好,我是新來的Android開發。我手動保存通過DDMS在模擬器的SD卡一個PDF文件,然後我也安裝在模擬器「Adob​​e Reader的」當我試圖讀取模擬器 PDF文件用下面的代碼如何從SD卡

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

並讀取SD卡的模擬器存在嗎? – skygeek

+0

通過adobereader我能夠看到文件 –

+0

還好你擁有所有權限讀取你的應用程序清單的路徑 – skygeek

回答

1

使用%20(用於空格)在iTunes20Connect.pdf之間。

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

我認爲這將解決您的問題

1

嘗試這條道路

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

我認爲這會工作的ü

0

我認爲你不應該使用硬編碼文件路徑。 框架會給你你想要將文件保存到該地區的基本路徑。

對於SD卡,您應該使用Environment.getExternalStorageDirectory()

本地文件,你應該使用Context.getFilesDir()(或Context.openFileOutput(字符串名稱,詮釋模式)等)

本地緩存,你應該使用Context.getCacheDir()

對於仿真器,你可以嘗試檔案文件=新的文件( 「MNT/SD卡/ iTunes的Connect.pdf」);

0

我認爲你的模擬器還沒有adob讀卡器安裝請先檢查其安裝或不

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`