2012-07-31 11 views
0

В андроида РОУ BroadcastReceiver:разрешение BroadcastReceiver

андроида: разрешение Имя разрешения, что вещатели должны должны послать сообщение на широковещательный приемник. Если этот атрибут не установлен , то разрешение, установленное атрибутом элемента , применяется к широковещательному приемнику. Если ни один из атрибутов не установлен , приемник не защищен разрешением.

Я установил пользовательское разрешение в тег приложения и у меня также есть приемник, который пытается получить MEDIA_SCANNER_FINISHED вещания. И я получаю следующее предупреждающее сообщение, когда система пытается транслировать событие моего слушателя.

Permission Denial: broadcasting Intent { 
act=android.intent.action.MEDIA_SCANNER_FINISHED 
dat=file:///mnt/sdcard } from com.android.providers.media (pid=767, 
uid=10029) requires com.xxx.permission due to receiver 
com.xxx.myreceiver 

Как я могу получить трансляцию?

ответ

1

Убедитесь, что вы также определили scheme в data. Спецификация фильтра намерения для вашего ресивера в AndroidManifest.xml.

<receiver android:name=".YourReceiver"> 
    <intent-filter> 
     <action android:name="android.intent.action.MEDIA_SCANNER_FINISHED" /> 
     <data android:scheme="file" /> 
    </intent-filter> 
</receiver> 
+0

Это действительно связано с разрешением? .... – Bear

+0

Лучше напишите свой файл 'AndroidManifest.xml'. – biegleux

Смежные вопросы