Проблема с обновлением файла, принадлежащего 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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