Как предоставить разрешения на чтение / запись для внутреннего хранилища моего приложения TextToSpeech / MediaPlayer? - PullRequest
1 голос
/ 29 января 2012

Как предоставить разрешения на чтение / запись во внутреннее хранилище моего приложения для TextToSpeech / MediaPlayer?

TextToSpeech.synthesizeToFile возвращает -1, когда я пытаюсь сохранить файл во внутреннем хранилище приложения (для папки типа /data / data / my.mycode.mydata /)

Это работает для SD-карты, когда я даю разрешение на это.Я думаю, что получаю ошибку (возвращаемое значение -1), так как TextToSpeech / MediaPlayer не имеет разрешения на создание файла внутреннего хранилища.

Как мне его предоставить?вероятнее всего через manifest.xml?

1 Ответ

2 голосов
/ 29 января 2012

У вас есть два варианта.

Лучше всего создать ContentProvider, который будет обслуживать ваши файлы, и использовать соответствующие значения content:// Uri при работе с "TextToSpeech / MediaPlayer". Вот пример проекта , демонстрирующий приложение, обслуживающее файл PDF, скопированный из ресурсов проекта, для просмотра средством просмотра PDF на устройстве.

Либо создайте файл с помощьюopenFileOutput() и MODE_WORLD_READABLE.

...