开发者社区 问答 正文

如何在Android中以编程方式从设备读取SMS消息?

我想从设备中检索SMS消息并显示它们吗?

展开
收起
Puppet 2020-01-19 09:17:37 565 分享 版权
1 条回答
写回答
取消 提交回答
  • 使用内容解析器(“ content:// sms / inbox”)读取收件箱中的SMS。

    
    // public static final String INBOX = "content://sms/inbox";
    // public static final String SENT = "content://sms/sent";
    // public static final String DRAFT = "content://sms/draft";
    Cursor cursor = getContentResolver().query(Uri.parse("content://sms/inbox"), null, null, null, null);
    
    if (cursor.moveToFirst()) { // must check the result to prevent exception
        do {
           String msgData = "";
           for(int idx=0;idx<cursor.getColumnCount();idx++)
           {
               msgData += " " + cursor.getColumnName(idx) + ":" + cursor.getString(idx);
           }
           // use msgData
        } while (cursor.moveToNext());
    } else {
       // empty box, no SMS
    }
    

    请添加READ_SMS权限。

    希望对您有所帮助:)

    2020-01-19 09:17:53
    赞同 展开评论