安卓短信编程

3
我希望您能找到一种特定的方式来寻找包含特定单词的短信,并自动回复。我已经找到了一种回复短信的方法,但我仍然无法找到这些短信...
4个回答

2

虽然这个方法没有被官方文档记录,但人们已经使用了多年,如果更新改变了我们访问短信数据库的方式,将会影响数百个用户的应用程序。因此,我认为他们不会很快改变这个方法。

无论如何,首先创建一个指向 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
在您的短信接收器中,检查短信正文。如果短信正文包含特定单词,则向该号码发送回复。同样地,您也可以检查来电号码。
检查特定号码的示例:
if (smsBody.contentEquals("word to match")) {
   // create reply
}

1

0

有一个未记录的短信内容提供程序:"content://sms/inbox"。但这不是官方的,可能会发生变化。没有适当的短信访问方式。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接