Проблема с обновлением файла, принадлежащего 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/emulated/0/Music/)
  • set the URI's IS_PENDING field to 0
  • let MediaStore that a file has changed using MediaScannerConnection.scanFile()
This approach works as expected the В первый раз разрешается разрешение для URI. Однако, поскольку это разрешение длится предположительно до выхода приложения, в следующий раз, когда я пытаюсь внести изменения в тот же файл (то есть в тот же 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»