2010-12-07 62 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 
}