2013-11-27 21 views
1

我有packageName.I可以通過packageName.But獲取一些信息。我想要的是manifest.xml中的BroadcastReceiver。是否有任何方法可以獲取它們?如何通過packageName獲取應用程序中的所有系統的BroadcastReceiver?

+0

你試圖發現什麼,你沒有通過'PackageManager'報告給你? – CommonsWare

+0

我可以通過特殊的意圖獲得一些接收者,例如Intent.ACTION_SEND.But我想要的是獲取所有在manifest.xml中聲明的BroadcastReceiver。任何解決方案? – europa

回答

1

呼叫getPackageInfo() on PackageManager檢索PackageInfo對象所需封裝,BroadcastReceivers都在PackageInforeceivers字段中列出。

+0

這可以得到有關receiver的ActivityInfo列表。但我無法通過ActivityInfo獲取BroadcastReceiver的操作。 intent.setPackage(packageName).calling queryBroadcastReceivers(intent,0)可以獲得有關接收者的ResolveInfo列表。但是這兩種方式無法獲得BroadcastReceiver的動作。我想要的不僅是接收者的名字,還有接收者的行爲。幫幫我? – europa

+0

ResolveInfo有一個filter.But領域,但我測試過濾器,過濾器是null.So我無法得到的過濾器的行爲,我現在沒有任何關於這個問題的想法。 – europa

+0

@europa:將'GET_INTENT_FILTERS'添加到'getPackageInfo()'調用中的標誌。 – CommonsWare

相關問題