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

Разрешение на создание файла для разных версий ОС - Android

Восстановить пароль Регистрация
 
КВА696
27 / 27 / 5
Регистрация: 20.04.2014
Сообщений: 515
Завершенные тесты: 2
30.10.2016, 12:19     Разрешение на создание файла для разных версий ОС #1
Почему то не создаётся текстовый фаил в эмуляторе 4.4.2 не в каком каталоге ни не сд карте ни в памяти
I/System.out: Ошибка ---java.io.IOException: open failed: EACCES (Permission denied)

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
write("/storage/sdcard/Alarms/re.txt", "ntrc");
...
public void write(String fileName, String text) {
        //Определяем файл
        File file = new File(fileName);
 
        try
        {
            //проверяем, что если файл не существует то создаем его
            if(!file.exists())
            {
                file.createNewFile();
            }
 
            //PrintWriter обеспечит возможности записи в файл
            PrintWriter out = new PrintWriter(file.getAbsoluteFile());
 
            try
            {
                //Записываем текст у файл
                out.print(text);
            }
            finally
            {
                //После чего мы должны закрыть файл
                //Иначе файл не запишется
                out.close();
            }
        }
        catch(IOException e)
        {
            System.out.println("Ошибка ---"+e.toString());
        }
    }
больше ни чего не делал ни куда ни чего не добовлял

Добавлено через 8 минут
Нашел добавил в манифест <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
И заработало. Почему в уроках не пишут что ещё нужно чтобы все работало коректно? Есть ли что нить про манифест какие нить уроки узнать что да для чего.
Лучшие ответы (1)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
shavuz
53 / 59 / 9
Регистрация: 29.01.2014
Сообщений: 295
30.10.2016, 13:07     Разрешение на создание файла для разных версий ОС #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
есть несколько видов пермишн, такие которые надо добавлять в манифест и такие которые идут "бесплатно", т.е. не надо отдельно их запрашивать, а есть такие которые вообще нельзя получить)
вот список :
https://developer.android.com/refere...ermission.html

до 6.0 жизнь в плане разрешений была легкой, после уже нужно отдельно запрашивать разрешения on the fly. т.е. ваши разрешения для сторадж в шестом андроиде рабоатать не будут.
КВА696
27 / 27 / 5
Регистрация: 20.04.2014
Сообщений: 515
Завершенные тесты: 2
30.10.2016, 14:27  [ТС]     Разрешение на создание файла для разных версий ОС #3
Цитата Сообщение от shavuz Посмотреть сообщение
до 6.0 жизнь в плане разрешений была легкой, после уже нужно отдельно запрашивать разрешения on the fly. т.е. ваши разрешения для сторадж в шестом андроиде рабоатать не будут.
А если программа пишется для старой версии 4 или 5 она же все равно будет работать на после 6? или на новых версиях программа не запустится? на сколько по урокам я понял новые андроиды просто обязаны понимать старые написанные версии
shavuz
53 / 59 / 9
Регистрация: 29.01.2014
Сообщений: 295
30.10.2016, 15:20     Разрешение на создание файла для разных версий ОС #4
нет, на новых версиях нужно запрашивать разрешения не через манифест, а именно там где они нужны, например если вы собираетесь записать в файл только на 3-тьем экране , то только в нем нужно запрашивать нужное разрешение, пользователю будет показано диалоговое окно , хочет ли он дать разрешения или нет, так же нужно предусмотреть что программа будет делать если пользователь отказался, например если это джипиэс и пользователь отказался то не будет показана текущая локация , в вашем случае ничего не будет записано в файл. запрос будет только в первый раз. дальше андроид уже будет знать что есть разрешения.
Цитата Сообщение от КВА696 Посмотреть сообщение
А если программа пишется для старой версии 4 или 5 она же все равно будет работать на после 6?
- не будет. просто будет вылетать. в наше время нельзя игнорировать разрешения. обязательно нужно учесть 6+ версии андроида.
Alex_Fedor
16 / 16 / 2
Регистрация: 20.01.2015
Сообщений: 130
30.10.2016, 16:03     Разрешение на создание файла для разных версий ОС #5
Цитата Сообщение от shavuz Посмотреть сообщение
обязательно нужно учесть 6+ версии андроида.
Скажите, а вот приложения написанные еще на эклипсе до 6 версии, там вроде максимальная версия андроида нигде не указывалась. Минимальная, целевая, и на которой компилировать.
shavuz
53 / 59 / 9
Регистрация: 29.01.2014
Сообщений: 295
30.10.2016, 17:05     Разрешение на создание файла для разных версий ОС #6
я не очень помню эклипс, но по большему счету максимальная версия не нужна, это работает от минимальной и до конца. ничего страшного нет в запросе разрешений на 6+. это пару строчек в активити.
Alex_Fedor
16 / 16 / 2
Регистрация: 20.01.2015
Сообщений: 130
30.10.2016, 17:14     Разрешение на создание файла для разных версий ОС #7
Цитата Сообщение от shavuz Посмотреть сообщение
это пару строчек в активити.
Это понятно, когда новый проект делаем будем учитывать. А вот если уже апк файл и лежит на каком нибудь плее. И плз если работает на АС скажите характеристики своего компа. Озадачился подбором железа под АС.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.10.2016, 17:22     Разрешение на создание файла для разных версий ОС
Еще ссылки по теме:

Не удается подключить NotificationCompat для старых версий Android
Dimens для разных экранов Android
Android Google maps метод поиска фрагмента карт на разметке для разных версий андроид

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
shavuz
53 / 59 / 9
Регистрация: 29.01.2014
Сообщений: 295
30.10.2016, 17:22     Разрешение на создание файла для разных версий ОС #8
Дома работаю с i5, 8gb ram, 128 ssd - этого вполне достаточно.
на работе i7, 16gb ram, 256 ssd
если лежит на каком нибудь плее, что мешает сделать апдейт,почините и залейте заново, сейчас уже много устройств 6+ , так поучается что теряете пользователей только потому что не поддерживаете новые устройства???
Yandex
Объявления
30.10.2016, 17:22     Разрешение на создание файла для разных версий ОС
Ответ Создать тему
Опции темы

Текущее время: 01:54. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru