2011-04-04 11 views
5

就這樣您知道,我已經檢查了Android開發人員文檔和OpenIntents,但未找到答案。不過,我可能很容易錯過了一些東西。按照Android意圖在文件管理器中查看文件路徑

是否有意圖在文件管理器中查看文件路徑的操作? Android文件管理器應用程序中的標準化方式似乎很少。當意圖執行時,我不希望有任何異常行爲,並且如果沒有安裝文件管理器,它應該什麼都不做,而不是試圖以其他方式操作文件路徑。

我最初的研究表明這可能目前不可能,但我想我會看看有沒有人知道更好。他們通常這樣做。

編輯澄清:我不是在尋找一個文件選取器。我已經有了一個文件路徑,並且希望在文件管理器/文件瀏覽器中打開它進行瀏覽,當且僅當設備上安裝了一個。

回答

9

我有以下...

 Intent intent = new Intent(); 
     intent.addCategory(Intent.CATEGORY_OPENABLE); 
     intent.setType("text/csv"); 
     intent.setAction(Intent.ACTION_GET_CONTENT); 
     startActivityForResult(Intent.createChooser(intent, getText(R.string.select_file)),1); 

,然後onActivityResult()

 currFileURI = data.getData(); 
     filename_editText.setText(currFileURI.getPath()); 

UPDATE:SOLUTION:

public static boolean isUriAvailable(Context context, String uri) { 
    Intent test = new Intent(Intent.ACTION_VIEW, Uri.parse(uri)); 
    return context.getPackageManager().resolveActivity(test, 0) != null; 
} 
+0

這看起來像一個文件選擇器,其中ISN」我真的在追求什麼。我想對系統說「這是一個文件路徑;在一個文件管理器應用程序(如eFile或AndExplorer或其他)中打開它,或者如果你沒有安裝文件管理器,則什麼也不做。」 – 2011-04-04 12:24:40

+0

你是對的。這正是它所做的。我只是希望它能給你一個提示你的答案。對不起,如果它沒有幫助。我會看看我是否可以通過路徑並打開文件管理器。當然,您可以啓動文件管理器而不要求任何回報。 – 2011-04-04 12:34:52

+1

對不起。我認爲你的迴應有點倉促,而且幾乎可以肯定,我自己的無知正在妨礙中。我讀了上面的代碼,提示用戶選擇應用程序來選擇CSV文件。您建議我可以創建一個允許用戶選擇應用程序的意圖,以便選擇文件類型,然後打開該應用程序。對? – 2011-04-04 13:14:26

相關問題