A light-weight (just 27 KB) android library to let users choose folder / files.
Branch: master
Clone or download
Latest commit f9d1ea9 May 23, 2018
Type Name Latest commit message Commit time
Failed to load latest commit information.
.idea v2.4 Released. May 23, 2018
app v2.4 Released. May 23, 2018
folderpicker v2.4 Released. May 23, 2018
gradle/wrapper v2.4 Released. May 23, 2018
screenshots Added screenshots to show in README Jun 1, 2017
.gitignore Initial commit May 25, 2017
LICENSE Added Apache License May 26, 2017
README.md v2.4 Released. May 23, 2018
build.gradle v2.4 Released. May 23, 2018
gradle.properties v2.4 Released. May 23, 2018
gradlew Initial commit May 25, 2017
gradlew.bat Initial commit May 25, 2017
settings.gradle Initial commit May 25, 2017



Demo Bintray Android Arsenal

A light-weight android library to let user's pick folder / files from storage.

Some Example Usages

  • Ask users to select folder for saving your app's files.
  • Ask users to point a folder to import / export data.
  • Ask users to choose file from phone storage for viewing, editing or any process.


Preview Preview Preview
Can pick folders Can create folder Can also pick file


For your convenience, it is available on jCenter, So just add this in your app dependencies:

    compile 'lib.kashif:folderpicker:2.4'


To pick folder

Just start FolderPicker activity from your app

        Intent intent = new Intent(this, FolderPicker.class);
        startActivityForResult(intent, FOLDERPICKER_CODE);        

If the user selects folder/file, the name of folder/file will be returned to you on onActivityResult method with the variable name 'data'.

        protected void onActivityResult(int requestCode, int resultCode, Intent intent) {
          if (requestCode == FOLDERPICKER_CODE && resultCode == Activity.RESULT_OK) {

              String folderLocation = intent.getExtras().getString("data");
              Log.i( "folderLocation", folderLocation );


Cusstomization options can be passed as extras to FolderPicker activity.

       //To show a custom title
       intent.putExtra("title", "Select file to upload");
       //To begin from a selected folder instead of sd card's root folder. Example : Pictures directory
       intent.putExtra("location", Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES).getAbsolutePath());
       //To pick files
       intent.putExtra("pickFiles", true);

Click here to see an example


Copyleft 2017 Kashif Anwaar.

Licensed under Apache 2.0

Do whatever you want with this library.