나는 이것이 쉽다라고 생각했다. 그러나 그것이 유감스럽게도 밝혀 졌던 것에 따라 그것은 그렇지 않다.

내가 가진 것 :

내 외부 저장 장치에 “myFolder”라는 폴더가 있습니다 (Nexus 4이기 때문에 sd 카드가 아니지만 문제가되어서는 안됩니다). 폴더에 몇 개의 * .csv 파일이 있습니다.

내가 원하는 것 :

나는 다음을 수행하는 방법을 쓰고 싶다. 내가 선택할 수있는 다양한 앱 (파일 브라우저)을 보여준다 (그림 참조). 그것을 클릭하면 선택한 파일 브라우저가 시작되어 “myFolder”의 내용을 보여줘야합니다. 그 이상도 이하도 아닌.

내 질문:

내가 정확히 그것을 어떻게합니까? 나는 다음 코드를 아주 가깝게 생각했지만, 내가하는 일과 상관없이 내가 아직 얻지 못했던 것이 틀림 없다고 확신한다. 항상 외부 저장소에서 메인 폴더 만 열어 둔다.

public void openFolder()
{
File file = new File(Environment.getExternalStorageDirectory(),
    "myFolder");

Log.d("path", file.toString());

Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.setDataAndType(Uri.fromFile(file), "*/*");
startActivity(intent);
}
우수 답변
나는 그것을 마침내 작동하게했다. 이렇게하면 선택기 (Google 드라이브, 보관함, 루트 탐색기 및 솔리드 탐색기)에서 표시되는 앱이 몇 개 밖에 없습니다. 두 명의 탐색기에서 정상적으로 작동하지만 Google 드라이브 및 Dropbox에서는 작동하지 않습니다 (외부 저장소에 액세스 할 수 없기 때문에). “* / *”와 같은 다른 MIME 유형도 가능합니다.

public void openFolder()
{
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
Uri uri = Uri.parse(Environment.getExternalStorageDirectory().getPath()
    + "/myFolder/");
intent.setDataAndType(uri, "text/csv");
startActivity(Intent.createChooser(intent, "Open folder"));
}

원본 텍스트를 나타내십시오:안드로이드 : 인 텐트를 통해 특정 폴더를 열고 파일 브라우저에 내용을 표시하는 방법? - 코드 로그