2011-09-16 33 views
0

我想知道是否有可能找到一個列表,其中包含所有與特定操作相關的接收者。Android - 短信 - 意圖過濾器優先列表

例如我有以下的接收器,一個SMS接收執行每次:

<receiver android:name=".SmsReceiver" android:enabled="true"> 
    <intent-filter android:priority="101"> 
     <action android:name="android.provider.Telephony.SMS_RECEIVED" /> 
    </intent-filter> 
</receiver> 
與優先級=「101」比Android的默認消息服務甚至之前執行it's

所以。

我想找到所有相關的certail行動的意圖過濾器,在這種情況下,「android.provider.Telephony.SMS_RECEIVED」

我試圖進入/data/data/com.android。 provider.telephony/databases,但沒有信息存儲在其中。

如果有人能告訴我我在哪裏可以找到這些信息,並且即使這是可能的,這將是非常好的。

問候,

巴勃羅

回答

2

使用PackageManagerqueryBroadcastReceivers()找出所有BroadcastReceivers的,將一個給定Intent迴應。在你的情況下,你會創建一個SMS_RECEIVEDIntent

+0

感謝您的回覆,但是有可能直接從.db文件恢復信息甚至是xml。這必須存儲在某個地方。 也許我會在不久的將來開發一個工具來做這件事,但知道我需要它儘快:( – pablora

+0

@pablora:「直接從.db文件恢復信息,甚至是一個XML」 - 不。 「必須存儲在某個地方」 - 它位於每個應用程序的清單中,您無法訪問它們。 – CommonsWare