0
У меня есть этот код, чтобы получить все фотографии, сохраненные на телефоне.Android: код не работает при получении списка всех изображений
String[] projection = {MediaStore.Images.Media._ID,MediaStore.Images.Media.DATA};
final Cursor cursor = context.getContentResolver().query(MediaStore.Images.Media.INTERNAL_CONTENT_URI,
projection,
null,
null,
null);
return cursor.getCount();
Я всегда получаю размер курсора как 0, когда я пытаюсь использовать это на эмуляторе или на своем телефоне. Любой указатель будет полезен.
Я действительно не знаю, как проверить это на эмуляторе.
У меня есть следующие разрешения
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
Благодарности
Посмотрите на этом уроке: http://mobile.dzone.com/news/displaying-images-sd-card Я пари вы добавили неправильный запрос 'MediaStore.Images.Media .INTERNAL_CONTENT_URI' - в учебнике он использует «MediaStore.Images.Media.EXTERNAL_CONTENT_URI'. Кроме того, это разрешение не делает ничего, кроме пугающих вас пользователей, если вы не собираетесь ничего сохранять на SD-карте. – Darwind
Привет, Дарвин, спасибо за ваши комментарии. Просто случайно я изменил INTERNAL_CONTENT_URI на EXTERNAL_CONTENT_URI, и это сработало! Я удивлен, потому что у меня нет SD-карты на моем телефоне (Nexus 4). Я думаю, хотя андроид предполагает, что это внутренняя SD-карта. Теперь я получаю количество фотографий на мой взгляд. Еще раз спасибо. –
Нет проблем. ;-) Да, внутреннее хранилище на Nexus следует указывать как внешнее хранилище. Я считаю, что это по дизайну. – Darwind