Проблема с обновлением файла, принадлежащего MediaStoreAndroid

Форум для тех, кто программирует под Android
Anonymous
Проблема с обновлением файла, принадлежащего MediaStore

Сообщение Anonymous »

На некоторых из файлов MP3 на моем устройстве (которое в настоящее время является эмулятором) я хочу изменить их данные ID3. Общий подход, который я использую:

[*] Скопировать файл в папке музыки (/storage/emulate/0/music/), чтобы
папка кэша приложения (/data/user/0/com.example.music/cache/) [*] Внеси /> Установите поле URI is_pending на 1
[*] Поймайте восстановляемый DecurityException и отобразить диалог

[*] the Poller Cache
(Br /> comase/caxple. /> (/storage/emulate/0/music/)
[*] Установить поле URI is_pending на 0
[*] Let mediastore Знать, что файл изменился с использованием MediaScannerConnection.scanfile ()

, однако, поскольку это разрешение длится предположительно до тех пор, пока приложение не будет выведено, в следующий раз, когда я пытаюсь внести изменение в тот же файл (то есть в тот же URI), установив URI is_pending на 1 на самом деле переименовать файл, а затем и другие, а затем и другие, а затем и другие, а затем и другие, а затем и другие, а затем и другие, а затем и другие, а затем и другие, а затем и другие, а затем и другой, а затем и другой, а затем и другой, а затем и другой, а затем-с следующим вызовом-и не имеет другого вызовов-или еще один вызов. < /p>
OutputStream os = resolver.openOutputStream(audioUri);
< /code>
Не удается с: < /p>
java.lang.IllegalStateException
Only owner is able to interact with pending item content://media/external/audio/media/160
< /code>
Таким образом, в то время как сам URI не изменился с первого обновления, файл, который он разрешает. Я проверил владельца URI, и каждый раз он одинаково: Media . Я пробовал так много вещей, чтобы обойти это, но все они не могут работать. Есть идеи?

Подробнее здесь: https://stackoverflow.com/questions/797 ... mediastore

Вернуться в «Android»