2012-07-31 53 views
0

在廣播接收器的Android的文檔: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

請確定您還定義了schemedata爲您的接收器在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 2012-07-31 11:04:51

+0

更好地發佈您的'AndroidManifest.xml'文件。 – biegleux 2012-07-31 11:13:33