Форум программистов, компьютерный форум 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 ScrollView.LayoutParams(ScrollView.LayoutParams.MATCH_PARENT, ScrollView.LayoutParams.MATCH_PARENT); scrollView.setLayoutParams(scrollLayoutParam); LinearLayout linLayout = new LinearLayout(this); ... http://www.cyberforum.ru/android-dev/thread1697369.html
Программирование Android Отображение программы в эмуляторе
Такая проблема: внес изменения в код программы, однако при компиляции в эмулятор выводится предыдущий ее вариант, причем вполне рабочий. При построении проекта в Android Monitor присутствует ошибка: "E/Trace: error opening trace file: No such file or directory (2)" Буду крайне благодарен за помощь!
Программирование Android "В приложении произошла ошибка" при нажатии на кнопку перехода на какую-либо активность
Нужно было несколько функций в одно приложение соединить..Отдельно каждая из них как отдельная программа работает - запускается.. Создав активности, перенеся их туда в одну программу - так же запускается, но при нажатии на кнопку перехода на какую-либо активность - высвечивает что "В приложении labs1 произошла ошибка" и выбивает из него.Не пойму почему так происходит в Манифесте все...
Программирование Android Нарезка картинки на блоки http://www.cyberforum.ru/android-dev/thread1697353.html
Доброго времени суток начал побывать писать программы на андроид, пытаюсь написать программу которая будет резать картинку на блоки 3х1, 3х2, 3х3 с последующим сохранением , есть ли аналоги кода в сети или похожие примеры кода? программа до ужаса простая и примитивная но без примера написать свою трудно, если будет ссылка с источником кода буду очень благодарен Добавлено через 1 час 7 минут...
Программирование Android Почему при выключении экрана в альбомной оринатции приложение перезапускается? Здравствуйте. В манифесте приложения прописана только альбомная ориентация. Но обнаружил такой эффект, при нажатии кнопки power экран гаснет и тут же вызывается OnCreate (это экран только стал чёрным), хотя в портретной ориентации такого не происходит. Почему так, и как это можно избежать? Т.к. это немного сбивает меня с толку в том плане, что не могу отделить восстановление приложение по... подробнее

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

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

29.03.2016, 08:30. Просмотров 179. Ответов 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, поэтому я включил камеру и сделал снимок, благодаря чему создалась папка. Понял, что это можно сделать программно, но пока примерно представляю, как это сделать.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru