我想以編程方式啓動默認文件資源管理器來顯示文件夾的內容。在Android中使用默認瀏覽器查看文件夾內容
我使用這個代碼,但它崩潰:
Uri startDir = Uri.fromFile(new File("/sdcard/DCIM/Camera"));
Intent intent = new Intent();
intent.setAction(Intent.ACTION_VIEW);
intent.setData(startDir);
startActivity(intent);
logcat中顯示「沒有找到活動來處理這個意圖」 ......
怎樣做是對我最好的選擇嗎?我希望用戶看到文件夾的內容並能夠點擊文件(例如,點擊視頻並使用默認播放器啓動它,點擊PDF並打開它等)。
感謝您的想法。你能解釋一下這個指令究竟做什麼:'intent.setType(「*/*」);' - 就我所見,它是你的代碼和我的代碼之間的唯一區別(除了更安全的目錄路徑)和我以前從未使用過這個意圖領域。 –
@BogdanAlexandru這是爲了確保安裝在設備上的每個可能的文件管理器都會顯示在「Complete action with ..」中,'「*/*」是最常用的MIME類型,所以任何文件管理器都可以那。有些人使用'intent.setType(「file/*」);'但這是一個非標準的MIME,可能導致程序崩潰。 唯一令人討厭的是'setType(「*/*」)'也會顯示其他程序,例如相機,畫廊和其他程序。 – Nima
我可以確認使用'setType(「file/*」)'崩潰我的平板電腦'android.content.ActivityNotFoundException:沒有發現活動處理意圖{動作= android.intent.action.VIEW typ =文件/ *} –