createTempFile создает исключение «Отказано в доступе» - PullRequest
0 голосов
/ 17 января 2011

Мое приложение. Сбой на линии:

File temp = File.createTempFile(“mediaplayertmp”, “dat”);

выбрасывает “Permission denied” исключение.

Почему это могло произойти? Похоже, мне нужно изменить какую-то настройку Java, чтобы указать папку «remp».

Спасибо!

Ответы [ 3 ]

5 голосов
/ 17 января 2011

Вероятно, у вас недостаточно прав для записи в каталог внешнего хранилища.Я не знаю, что createTempFile требует этого (я думаю, что это будет во внутренней памяти, но не знаю этого), но я бы предложил добавить разрешение WRITE_EXTERNAL_STORAGE к вашему манифесту, например:

<manifest...>
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
</manifest>
3 голосов
/ 05 апреля 2011

У меня была такая же проблема. Для меня оказалось, что проблема заключалась в том, что мое устройство Android было подключено к ПК через USB во время разработки, и SD-карта заблокирована, когда она монтируется другим устройством. Как только я отключил устройство, оно работало нормально. Вы также можете указать устройству не монтировать SD-карту при подключении.

1 голос
/ 17 января 2011

Поскольку AFAIK местоположение временного файла по умолчанию, настроенное java.io.tmpdir, равно /sdcard, вам необходимо добавить разрешение WRITE_EXTERNAL_STORAGE в манифест.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...