Hello, Developers! In this tutorial, we will learn how to Pick any File Programmatically. You can fetch any kind of file like a jpg or pdf etc. all by using Intent. On a Button click, Intent will launch your file Browser where all files of different formats will be available. You can pick any one file of your choice from there. You can choose what you may like to do with that file according to your needs. We did a similar implementation earlier where we fetched an image via Gallery or Camera and set that to an ImageView. You may check that Tutorial out from here.

The UI of the app will look something like this:

Download Project -[media-downloader media_id=”2180″]

Download APK – [media-downloader media_id=”2181″]

Watch Related Video

Creating New Project  –

Step 1: – Creating Project

Open your Android Studio -> Create a new project -> Choose BlankActivity > Finish

Step 2: Creating Layout -> activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"

        android:text="File Picker "
        android:id="@+id/btn_picker" />

We need just one Button to launch our code, or to open the File Browser.


Uploading file to Google Drive in Android Application

How to read PDF files in android

Play a music file in background using services

Downloading File From Android WebView

Audio Recording,Play and Stop Android Tutorial

Step 3: Creating MainActivity.java

package com.mytrendin.pickanyfile;

import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {
    protected void onCreate(Bundle savedInstanceState) {

        Button button = (Button) findViewById(R.id.btn_picker);

        button.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
                Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
                startActivityForResult(intent, 7);

    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        // TODO Auto-generated method stub

        switch (requestCode) {
            case 7:
                if (resultCode == RESULT_OK) {
                    String PathHolder = data.getData().getPath();
                    Toast.makeText(MainActivity.this, PathHolder, Toast.LENGTH_LONG).show();

We used startActivityForResult() because we are starting another Activity to receive a result back. We did a similar usage when we launched the camera to capture the image and set it to the ImageView. you can see that code from our another blog from here.


This is a very common requirement for Android Developers to pick a file programmatically.This has following uses for ex:

  1. Fetching image from gallery and setting in ImageView
  2. Fetching PDF and sending E-mail
  3. Uploading any file to the server

You can download the code and the APK File from the Links given above.In Case of Any queries you can leave a comment below and also you may give suggestions for our next blog! Keep following! If You are Beginner Learn Android application development from the scratch

If you really liked the article, please subscribe to our YouTube Channel for videos related to this article.Please find us on Twitter and Facebook.

If you really liked the article, please subscribe to our YouTube Channel for videos related to this article.Please find us on Twitter and Facebook.

Related Posts