在Android 11中,应用程序无法直接访问外部存储设备。为了解决这个问题,您需要请求'android.permission.READ_EXTERNAL_STORAGE”权限,并使用MediaStore API访问媒体文件。以下是示例代码:
ContentResolver resolver = getContentResolver(); Uri uri = MediaStore.Audio.Media.EXTERNAL_CONTENT_URI; String[] projection = {MediaStore.Audio.Media._ID, MediaStore.Audio.Media.TITLE, MediaStore.Audio.Media.ARTIST}; String selection = null; String[] selectionArgs = null; String sortOrder = null; Cursor cursor = resolver.query(uri, projection, selection, selectionArgs, sortOrder); if (cursor != null) { while (cursor.moveToNext()) { int id = cursor.getInt(cursor.getColumnIndex(MediaStore.Audio.Media._ID)); String title = cursor.getString(cursor.getColumnIndex(MediaStore.Audio.Media.TITLE)); String artist = cursor.getString(cursor.getColumnIndex(MediaStore.Audio.Media.ARTIST)); // TODO:在此处执行您需要的操作 } cursor.close(); }
上一篇:Android11,无法使用intent打开已存在的docx文件
下一篇:Android11:不允许使用主目录(无效)的content://media/external/file,允许的目录为[Download,Documents]。