android - 读取特定号码的短信

标签 android sms android-activity

我想阅读收件箱中的特定短信。我在互联网上找到了如何阅读收件箱中的所有短信。那就是我所做的。请帮助我只阅读来自特定号码的一条短信。谢谢

package com.example.liresms;

import android.app.Activity;
import android.database.Cursor;
import android.net.Uri;
import android.os.Bundle;
import android.widget.TextView;

public class ReadSMS extends MainActivity {

  @Override
  public void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      TextView view = new TextView(this);
      Uri uriSMSURI = Uri.parse("content://sms/inbox");
      Cursor cur = getContentResolver().query(uriSMSURI, null, null, null,null);
      String sms = "";
      while (cur.moveToNext()) {
          sms += "From :" + cur.getString(2) + " : " + cur.getString(11)+"\n";         
      }
      view.setText(sms);
      setContentView(view);
  }
}

最佳答案

您已经非常接近这样做了。我建议您查看 ContentResolver.query 方法的参数,并特别注意 selection 参数。您要做的只是选择特定列等于您要查找的数字的消息...

有点像

Cursor cur = getContentResolver().query(uriSMSURI, null, "from=6159995555", null,null);

我不知 Prop 体的列名,但这应该能让你朝着正确的方向开始......

关于android - 读取特定号码的短信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16366164/

相关文章:

android - 从 surfaceview 访问 Android sharedPreferences

java - 尝试使用cursor.getCount(),无法解析符号getCount()

java - 是否可以通过调用服务的方法来与服务进行通信?

短信 - 如何避免破产?

android - 运行时权限请求暂停 Activity

android - 如何将超链接添加到首选项屏幕 (PreferenceActivity)

Android System Trace [跟踪标记]

android - 向下滚动 ListView 时将图像从服务器加载到Android自定义 ListView

android - 更新 : as3 air for Android get device phone number

java - 自动化应用程序发送短信的测试