2010-12-07 82 views
3

我想查找包含特定單詞並自動回覆的特定方式SMS。Android短信編程

我已經找到一種方法來回答這個短信,但我仍然不能找到SMS工作...

回答

0

有短信無證內容提供商: 「內容://短信/收件箱」。但這不是官方的,可以改變。沒有正確的短信訪問方式。

2

其確實沒有記錄,但人們多年來一直在使用它,如果更新改變了我們訪問SMS數據庫的方式,它會影響數百個用戶應用程序。所以我很懷疑他們會改變這一點。

無論如何,首先創建一個遊標對象到SMS數據庫,並在where子句中運行一個沒有條件的查詢。然後,只需運行數據庫即可提取所需的值。有人也很好,可以在數據庫中發佈不同的列名。它們是:How many database columns associated with a SMS in android?

下面是從數據庫中獲取SMS的代碼片段。

Cursor messages; 
    Columns message = ColumnsFactory.messages(); //points to structutre 
    messages = getContentResolver().query(Uri.parse("content://sms/"), 
      null, null, null, null); 



    while (messages.moveToNext()) { 
    //do stuff here. 
1

在接收短信的廣播接收器中,請檢查SMS正文。如果SMS正文包含該特定字詞,則發送回覆該號碼。以同樣的方式,你也可以檢查來電號碼。

實施例,以檢查特定數目:

if (smsBody.contentEquals("word to match")) { 
    // create reply 
}