2010-08-30 136 views
3

我想開發這樣的應用程序。在安裝時我會有兩個選擇,通過我的應用程序或默認的短信應用程序發送短信。Android SMS捕捉

有沒有什麼方法可以捕捉到傳出的短信?

回答

2

您可以添加以下意圖過濾你的活動的AndroidManifest.xml描述,這將允許用戶選擇用於發送短信的應用,當他們點擊的聯繫人和短信應用發送短信行動:

<intent-filter> 
    <action android:name="android.intent.action.SENDTO"></action> 
    <data android:scheme="smsto"></data> 
    <category android:name="android.intent.category.DEFAULT"></category> 
</intent-filter> 

這將傳遞一個數據uri,格式爲smsto:// target-number,您的應用需要照顧文本輸入並使用SMSManager發送SMS。

+0

我在AndroidManifest.xml中添加了intent過濾器。應用程序安裝在我的Samsung Galaxy上。但是現在我的應用程序在發送短信時不會收到通知。總之,沒有任何反應。我是否需要進行一些更改以使我的應用程序成爲默認SMS客戶端 – 2010-08-31 02:05:21

+0

將彈出一個對話框,讓您在默認SMS應用程序和您的應用程序之間進行選擇。這可能是三星在其Launcher應用程序中做出的改變,也許他們沒有使用任何股票意圖來啓動他們的短信應用程序。您可以通過查看DDMS中的調試器日誌並將SMS發送給某人來查看他們正在使用的意圖。 – Frank 2010-08-31 04:28:52

+0

謝謝弗蘭克。 短信應用程序檢測也可以在模擬器上工作。截至目前,我已經測試過它不適用於hansets(sony xperia)和模擬器。有一款名爲ChompSmS的應用程序可以在android市場上購買(並可以免費下載.apk),它具有與我們正在討論的功能相同的功能。 安裝Chomp短信到我的模擬器後,當我嘗試通過模擬器發送短信,它給了我發送短信從默認短信應用程序或Chomp SMS的選項 – 2010-09-02 09:30:42