2012-01-28 67 views
0

我想查看特定的短信,並在收件人處理它時處理它。然後我想要「吃它」,以便它不會向上冒泡並顯示給用戶(應該「無聲地」處理)。這可能嗎?如果是這樣,怎麼樣?是否有可能阻止意圖繼續(「吃」意圖)?

+0

**你應該學習Android的行話,以便我們可以更好地/更容易地理解你的問題。** 如果我理解正確,你的意思是默默地「捕捉」短信到達時** ** **它來自數據庫,所以它不會顯示爲通知。它是否正確? – JoxTraex 2012-01-29 08:38:01

+0

是的,我不希望用戶看到符合我要查找的條件的消息(也就是它屬於我的應用);當然,如果它不被我的應用攔截,那麼我想「通過它」。 – 2012-01-30 01:31:06

回答

1
I then want to "eat it" so that it doesn't bubble upwards and display to the user (it should be handled "silently") 

咦?你註冊接收的意圖默默處理除非你選擇「大聲」處理它。

編輯

而且,也沒有辦法阻止響應SMS消息的其他應用程序。考慮允許一個應用程序控制其他應用程序是否可以偵聽系統事件的安全隱患...

+0

好的,但用戶通常仍會看到短信,即使我第一次「偷看」它,如果我沒有弄錯的話。 – 2012-01-30 01:32:46

1

您正在尋找Android中的Service構造。它旨在運行某些內容,而不需要UI(如Activity)。

BroadcastReceiver是您應該研究以捕捉SMS事件的附加功能。

+0

我考慮過使用服務,但BroadcastReceiver是我正在使用的,應該只是工作而已。 – 2012-01-30 01:33:42

1

是的,它可以通過abortBroadcast()方法中止,如果您將IntentFilter的優先級設置爲1000(最高優先級),則該接收器將在系統之前接收廣播。