2016-10-13 44 views
0

請看下面的代碼,因爲你可以看到我的FilePath只得到這個路徑/document/1393,所以我如何得到我的絕對路徑像/sdcard/document/test.docx發送我的意圖應用程序選擇器打開ms word文檔

// Get Result Back 
@Override 
public void onActivityResult(int requestCode, int resultCode, Intent data) { 
    super.onActivityResult(requestCode, resultCode, data); 
    switch(requestCode){ 
     case FILE_SELECT_CODE: 
      if(resultCode==-1){ 
       String FilePath = data.getData().getPath(); 
       Log.d("onActivityResult", "FilePath = " + FilePath); 
       cityEditText.setText(FilePath); 
      } 
      break; 

    } 

} 

回答

0

嘗試這種情況:

Uri uri = Uri.fromFile(new File("/path/to/file")); 
Intent intent = new Intent(Intent.ACTION_VIEW, uri); 
// Verify that there are applications registered to handle this intent 
// (resolveActivity returns null if none are registered) 
if (intent.resolveActivity(getPackageManager()) != null) { 
    startActivity(intent); 
} 

取決於你在哪裏執行從這個代碼(一個活動,視圖,片段),則可能需要調整到getPackageManager()getActivity().getPackageManager()getContext().getPackageManager()

+0

非常感謝您的快速回復。但我有點困惑。這將defenatly作品任何擴展如.pdf或doc或.docx或PNG等......你有這個想法。 – anuloo

+0

是的,這應該根據uri確定適當的操作。如果你想指定自己,你可以使用'intent.setDataAndType(uri,「application/pdf」);'例如,並根據需要調整第二個mime /文件類型參數。換句話說,你可以使用''application/msword'',對於excel應用程序/ vnd.ms-excel等,使用''application/vnd.ms-powerpoint「',等等。在這種情況下,你可以創建沒有第二個uri參數的意圖對象。 –

+0

謝謝,我會明天試試,我會讓你知道我是如何得到的。感謝一百萬。 – anuloo