1 year ago

#374278

test-img

SilverCoder

How can I access to music directory in Android 10 (API 29)

I am trying to make a music player but I can't reach the music directories on API 29 devices since some methods are Deprecated in API level 29 and getExternalStorageDirectory() is added at API 30.enter

`public ArrayList findSong(File file) { ArrayList arraylist = new ArrayList<>();

    File f = file;

    File[] files = null;

    try {
        files = f.listFiles();

        if (files.length > 0) {

            for (File singleFile : files) {

                if (singleFile.isDirectory() && !singleFile.isHidden() ) {

                    arraylist.addAll(findSong(singleFile));
                } else {
                    if (singleFile.getName().endsWith(".mp3") || singleFile.getName().endsWith(".m4a")) {

                        arraylist.add(singleFile);
                    }
                }
            }
        } else {

        }
    }
    catch (NullPointerException e) {
        toastMsg("Error : " + e + " " + e.getStackTrace()[0].getLineNumber());
    }

    return arraylist;
}

private void toastMsg(String s) {
}

void displaySongs()
{

    final ArrayList<File> mySongs = findSong(Environment.getExternalStorageDirectory());

    items = new String[mySongs.size()];
    for (int i = 0; i<mySongs.size(); i++)
    {

        items[i] = mySongs.get(i).getName().toString().replace(".mp3","").replace(".m4a","");
    }


    customAdapter customAdapter = new customAdapter();
    listView.setAdapter(customAdapter);

    listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
            String songName = (String) listView.getItemAtPosition(i);
            startActivity(new Intent(getApplicationContext(), PlayerActivity.class).putExtra("songs", mySongs).putExtra("songname", songName).putExtra("pos",i));



        }
    });





}`

android

arrays

directory

path

environment

0 Answers

Your Answer

Accepted video resources