Mustansar Saeed
Mustansar Saeed

Reputation: 2790

Correct intent to show only Audio files

I am trying to pick Audio from Gallery. I am using the following intent.

private void selectAudioFromGallery() {
        Intent intent = new Intent();
        intent.setAction(Intent.ACTION_GET_CONTENT);
        intent.setType("audio/3gp, audio/AMR, audio/mp3");
        startActivityForResult(Intent.createChooser(intent, getString(R.string.select_audio_file_title)), REQ_CODE_PICK_SOUNDFILE);

    }

I want to select files of type 3gp, AMR, mp3 and only these files should be listed in the file chooser but the problem I am facing it, it also shows the other files too like text files, image etc.

Upvotes: 1

Views: 3165

Answers (2)

NitZRobotKoder
NitZRobotKoder

Reputation: 1086

    Intent intent = null;
    if(Build.VERSION.SDK_INT < Build.VERSION_CODES.KITKAT) {
         intent = new Intent(Intent.ACTION_GET_CONTENT);
    }else {
         intent = new Intent(Intent.ACTION_OPEN_DOCUMENT);
    }

    // The MIME data type filter
    intent.setType("audio/*")

Works..

Upvotes: 3

Rohit5k2
Rohit5k2

Reputation: 18112

Use this

intent.setType("audio/3gp|audio/AMR|audio/mp3");

Adding multiple mime type need pipe sign, not comma.

Another way

intent.setType("audio/*");
String[] mimetypes = {"audio/3gp", "audio/AMR", "audio/mp3"};
intent.putExtra(Intent.EXTRA_MIME_TYPES, mimetypes);

Upvotes: 2

Related Questions