搜索短信收件箱

mah*_*di 1 sms android inbox

如何搜索短信收件箱并显示特殊号码的最新消息.例如,搜索"999999999"并显示从此号码收到的最后一条消息.有办法做到这一点吗?

我使用此代码返回收件箱中的邮件数

TextView view;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

  view = (TextView) findViewById(R.id.textView1);

  final Uri SMS_INBOX = Uri.parse("content://sms/inbox");
  Cursor c = getContentResolver().query(SMS_INBOX, null, null, null, null);
  int unreadMessagesCount = c.getCount();
  c.deactivate();

  view.setText(String.valueOf(unreadMessagesCount));
Run Code Online (Sandbox Code Playgroud)

Sam*_*Sam 6

如果您只想要特定号码发送的最后一条消息,请使用:

final Uri SMS_INBOX = Uri.parse("content://sms/inbox");
Cursor cursor = getContentResolver().query(SMS_INBOX, null, "address = ?", 
        new String[] {"9999999999"}, "date desc limit 1");
if(cursor.moveToFirst()) {
    // Do something 
    Log.v("Example", cursor.getString(cursor.getColumnIndex("body")));
}
cursor.close();
Run Code Online (Sandbox Code Playgroud)

android中与SMS关联的数据库列的第二个答案是SMS中不同列的很好的参考.