Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Runtime permissions и FileNotFound - Программирование Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android По умолчанию меню тулбара является прозрачным и сливается с фоном, как изменить фон текста меню? http://www.cyberforum.ru/android-dev/thread1697442.html
Здравствуйте уважаемые форумчане! Возникла следующая проблема, я использую для создания меню в xml файле теги <menu> и <item>, но дело в том что по умолчанию меню является прозрачным и сливается с...
Программирование Android Не отображается TextView ScrollView scrollView = new ScrollView(this); scrollView.setFillViewport(true); ScrollView.LayoutParams scrollLayoutParam = new... http://www.cyberforum.ru/android-dev/thread1697369.html
Программирование Android Отображение программы в эмуляторе
Такая проблема: внес изменения в код программы, однако при компиляции в эмулятор выводится предыдущий ее вариант, причем вполне рабочий. При построении проекта в Android Monitor присутствует ошибка:...
Программирование Android "В приложении произошла ошибка" при нажатии на кнопку перехода на какую-либо активность
Нужно было несколько функций в одно приложение соединить..Отдельно каждая из них как отдельная программа работает - запускается.. Создав активности, перенеся их туда в одну программу - так же...
Программирование Android Нарезка картинки на блоки http://www.cyberforum.ru/android-dev/thread1697353.html
Доброго времени суток начал побывать писать программы на андроид, пытаюсь написать программу которая будет резать картинку на блоки 3х1, 3х2, 3х3 с последующим сохранением , есть ли аналоги кода в...
Программирование Android Почему при выключении экрана в альбомной оринатции приложение перезапускается? Здравствуйте. В манифесте приложения прописана только альбомная ориентация. Но обнаружил такой эффект, при нажатии кнопки power экран гаснет и тут же вызывается OnCreate (это экран только стал... подробнее

Показать сообщение отдельно
Bean87
0 / 0 / 0
Регистрация: 25.02.2016
Сообщений: 5

Runtime permissions и FileNotFound - Программирование Android

29.03.2016, 08:30. Просмотров 184. Ответов 0
Метки (Все метки)

Доброе утро! Подскажите, пожалуйста, с такой проблемой - сохраняю нарисованное изображение в галерею таким образом:

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
saveBtn.setOnClickListener(new View.OnClickListener(){
drawView.setDrawingCacheEnabled(true);
                    //attempt to save
                    String imgSaved = MediaStore.Images.Media.insertImage(
                            getContentResolver(), drawView.getDrawingCache(),
                            UUID.randomUUID().toString()+".png", "drawing");
                    //feedback
                    if(imgSaved!=null){
                        Toast savedToast = Toast.makeText(getApplicationContext(),
                                "Drawing saved to Gallery!", Toast.LENGTH_SHORT);
                        savedToast.show();
                    }
                    else{
                        Toast unsavedToast = Toast.makeText(getApplicationContext(),
                                "Oops! Image could not be saved.", Toast.LENGTH_SHORT);
                        unsavedToast.show();
                    }
                    drawView.destroyDrawingCache();
                }
}
На Андроид 4.х всё работает прекрасно. Однако на Андроид 6.0 при попытке сохранения изображения получаю ошибку:

Java
1
E/MediaStore: java.io.FileNotFoundException: No such file or directory
Это как-то связано с runtime permissions? На оф. сайте написано, что начиная с 6.0 версии permissions нужно предъявлять во время запуска, но никак не могу понять, как правильно их предъявить. И почему FileNotFound?

Добавлено через 1 час 33 минуты
Вопрос снят. Добавил permission check:

Java
1
2
3
4
5
6
7
8
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
                        if (!Settings.System.canWrite(MainActivity.this)) {
                            requestPermissions(new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE,
                                    Manifest.permission.READ_EXTERNAL_STORAGE}, 2909);
 
                            //save drawing
                            saveDrawing();
                    }
По поводу FileNotFound: в только что созданном эмуляторе нет папки DCIM, поэтому я включил камеру и сделал снимок, благодаря чему создалась папка. Понял, что это можно сделать программно, но пока примерно представляю, как это сделать.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru