2014-07-09 52 views
0

我能夠通過操作篩選Android應用程序中的廣播。例如:通過操作和額外篩選Android廣播接收器

<receiver android:name=".receiver.TasksModifiedReceiver"> 
     <intent-filter>> 
      <action android:name="myapp.TASKS_MODIFIED_ACTION" /> 
     </intent-filter> 
    </receiver> 

但是,我可以通過意圖提供的「額外」進一步過濾它們嗎?

例如,應用程序A發送一個廣播:

Intent taskBroadcastIntent = new Intent(); 
taskBroadcastIntent.setAction(ApplicationConstants.TASKS_MODIFIED_BROADCAST_ACTION); 
taskBroadcastIntent.putExtra("TaskType", taskType); 
taskBroadcastIntent.putExtra("UserName", CommonCache.getCommonCache().getValue(CommonCache.USER_NAME)); 
taskBroadcastIntent.putExtra("Environment", Constants.ENVIRONMENT); 
context.sendBroadcast(taskBroadcastIntent); 

現在,如果「任務類型」額外設置爲「任務1」, 和應用程序C應該僅當接收廣播應用B應該只接收廣播「TaskType」extra設置爲「task2」。

任何有幫助的建議,將不勝感激。 我無法在Android開發人員文檔中找到此功能。

回答

0

我不認爲這是可能的。但這裏是我將要做的,

創建一個通用的接收器,您將收到應用程序的上下文和意圖。因此,使用getStringExtra(「TaskType」)獲取taskType並根據它觸發相應的廣播意圖。

+0

謝謝,我們已經以編程方式檢查我們的接收器中的'TaskType',並且只有在它匹配我們想要的時才處理。希望避免這個程序化檢查 – dleerob