Intereting Posts
Скопировать / поделиться конфигурациями между платными / бесплатными версиями Android-приложения? Ошибка styles.xml в проекте библиотеки eclipse для google загрузчика, когда приложение является preApi9 Редактировать текст в ListActivity ListView теряет фокус при приближении клавиатуры По умолчанию кнопка emoji на клавиатуре Google с Android 4.4. Material Design: как установить прозрачность для Android Floating Action Button Android – заполнить заполнители для разных типов сборки XmlPullParserException при анализе файла ресурсов в Android Eclipse с плагином Android – Заблокировано при «вычислении требований и зависимостей» Введите текст в EditText, который затем исчезает, когда пользователь нажимает внутри него Преобразованный файл MediaCodec из WAV в AMR не воспроизводится Преобразование цветаПримечание к цветуPrimaryDark (насколько темнее) Когда я меняю ориентацию с портрета на пейзаж, мой расчетный результат исчезает. Как его решить? Proguard и RxAndroid V1.1.0 Применение физики к объектам Android View Удаленный фрагмент Android и вид из BackStack

Получить случайное изображение из галереи телефона и отобразить в поле зрения

Есть ли возможность получить доступ к галерее телефона, выбрать случайное изображение и отобразить его на экране? Т.е. выполнить весь процесс без вмешательства пользователя, выбрать изображение или отправить uri и т. Д.

Благодаря!

Следующий фрагмент извлекает содержимое галереи и помещает каждый путь изображения в список массивов. Затем он выбирает случайным образом один из путей внутри ArrayList и помещает в качестве ресурсов для ImageView

Handler handler = new Handler(); protected int counter = 0; private ImageView mImageView; private Bitmap currentBitmap = null; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.image); mImageView = (ImageView) findViewById(R.id.imageView); String[] projection = new String[]{ MediaStore.Images.Media.DATA, }; Uri images = MediaStore.Images.Media.EXTERNAL_CONTENT_URI; Cursor cur = managedQuery(images, projection, "", null, "" ); final ArrayList<String> imagesPath = new ArrayList<String>(); if (cur.moveToFirst()) { int dataColumn = cur.getColumnIndex( MediaStore.Images.Media.DATA); do { imagesPath.add(cur.getString(dataColumn)); } while (cur.moveToNext()); } cur.close(); final Random random = new Random(); final int count = imagesPath.size(); handler.post(new Runnable() { @Override public void run() { int number = random.nextInt(count); String path = imagesPath.get(number); if (currentBitmap != null) currentBitmap.recycle(); currentBitmap = BitmapFactory.decodeFile(path); mImageView.setImageBitmap(currentBitmap); handler.postDelayed(this, 1000); } }); }