Android设置默认文件管理器,使用默认资源管理器在Android中查看文件夹内容
我想以編程方式啟動(dòng)默認(rèn)文件資源管理器以顯示文件夾的內(nèi)容.
我正在使用此代碼,但它崩潰了:
Uri startDir = Uri.fromFile(new File("/sdcard/DCIM/Camera"));
Intent intent = new Intent();
intent.setAction(Intent.ACTION_VIEW);
intent.setData(startDir);
startActivity(intent);
LogCat顯示“找不到處理意圖的活動(dòng)”……
我最好的選擇是什么?我希望用戶(hù)能夠看到文件夾的內(nèi)容并能夠單擊文件(例如,單擊視頻并使用默認(rèn)播放器啟動(dòng)它,單擊PDF并打開(kāi)它等).
解決方法:
不幸的是,似乎沒(méi)有標(biāo)準(zhǔn)的方法來(lái)做到這一點(diǎn),我之前正在尋找完全相同的東西,但無(wú)法找到任何解決方案.有兩種替代方法可能適合您:
1)使用一般意圖并讓用戶(hù)選擇他/她的文件管理器
這是安全和容易的,但與我們真正想要的有點(diǎn)遠(yuǎn)
Uri startDir = Uri.fromFile(new File(Environment.getExternalStorageDirectory()
.getAbsolutePath() + "/DCIM/Camera"));
Intent intent = new Intent();
intent.setData(startDir);
intent.setType("*/*");
intent.setAction(Intent.ACTION_VIEW);
startActivity(intent);
不要使用intent.setType(“file / *”);,它不是標(biāo)準(zhǔn)的MIME類(lèi)型.
2)使用著名文件管理器提供的特定意圖眾所周知的文件管理器有自己的自定義意圖過(guò)濾器,它們接受允許簡(jiǎn)單瀏覽的目錄路徑.其中一些在這里:OI file manager,ES Explorer
也許您可以檢查用戶(hù)是否安裝了這些特定的文件管理器,然后使用此解決方案,否則回退到一般意圖.
目前,這是您擁有的唯一兩個(gè)選項(xiàng).如果我找到更好的解決方案,我會(huì)更新這篇文章.
標(biāo)簽:android,android-intent
來(lái)源: https://codeday.me/bug/20190725/1533711.html
與50位技術(shù)專(zhuān)家面對(duì)面20年技術(shù)見(jiàn)證,附贈(zèng)技術(shù)全景圖總結(jié)
以上是生活随笔為你收集整理的Android设置默认文件管理器,使用默认资源管理器在Android中查看文件夹内容的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: android 对象数据库中,解析嵌套的
- 下一篇: dnd 辅助 android,Easy