Мотоблур мешает запуску медиа-сканера - PullRequest
1 голос
/ 05 января 2012

У меня есть приложение, которое вносит изменения в некоторые файлы в папках мультимедиа (в частности, DCIM / Camera)

После внесения изменений в тезисы приложение отправляет эту трансляцию, чтобы заставить MediaScanner работать такчто мои изменения будут отражены в приложении "Галерея" при следующем его открытии.

sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED, Uri.parse("file://" + Environment.getExternalStorageDirectory())));

Это прекрасно работает на устройствах со стандартным Android.Однако на устройствах с motoblur это не удается и дает мне этот вывод в журнале:

Permission Denial: broadcasting Intent { act=android.intent.action.MEDIA_MOUNTED dat=file:///mnt/sdcard } from com.my.package (pid=20882, uid=10109) requires com.motorola.blur.service.blur.Permissions.INTERACT_BLUR_SERVICE due to registered receiver BroadcastFilter{40a444c8 ReceiverList{40a22888 13696 com.motorola.blur.service.blur/10023 remote:40a340b8}}

Есть ли какой-нибудь способ, которым я могу использовать это разрешение INTERACT_BLUR_SERVICE?Или есть какой-нибудь другой способ заставить Media Scanner работать по команде?

Ответы [ 2 ]

0 голосов
/ 01 февраля 2012

Я так и не нашел способ запустить медиа-сканер. Но я указал на другое средство удаления изображений и видео, а не просто на удаление файлов на SD-карте, теперь я использую ContentResolver для удаления носителя.

Вот фрагмент того, как я это сделал:

        //Uri imgUri = Uri.parse("content://android.provider.MediaStore.Images.Media");
        ContentResolver cr = getContentResolver();
        int count = cr.delete(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, null, null);
        count += cr.delete(MediaStore.Video.Media.EXTERNAL_CONTENT_URI, null, null);
        Log.i(myTag, "Deleted " + count + " files from media database");
0 голосов
/ 05 января 2012

Разве добавление этого разрешения в AndroidManifest не может решить проблему?

<uses-permission android:name=
         "com.motorola.blur.service.blur.Permissions.INTERACT_BLUR_SERVICE"/>
...