android利用ContentResolver访问者获取手机短信信息

利用ContentResolver访问者获取手机短信信息,在此记录一下,一遍以后查询。

创新互联公司-专业网站定制、快速模板网站建设、高性价比昌平网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式昌平网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖昌平地区。费用合理售后完善,10余年实体公司更值得信赖。

首先看一下结果,结果如下:

android利用ContentResolver访问者获取手机短信信息

activity_message.xml类:

 
 
 

activity_xs.xml类

<?xml version="1.0" encoding="utf-8"?>


 

MessageActivity类:

public class MessageActivity extends AppCompatActivity {

 private ListView lv_message;
 private ContentResolver cr;
 private ArrayList> datalistView;

 @Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_message);
  //获得短信的ID
  lv_message = (ListView) findViewById(R.id.lv_message);
  //得到访问者ContentResolver
  cr = getContentResolver();
  //定义一个接收短信的集合
  datalistView = new ArrayList<>();
  Uri uri = Uri.parse("content://sms/");
  Cursor cursor = cr.query(uri, null, null, null, null);
  while (cursor.moveToNext()) {
   String body = cursor.getString(cursor.getColumnIndex("body"));
   int address = cursor.getInt(cursor.getColumnIndex("address"));
   //将号码和短信内容放入Map集合中
   Map map = new HashMap<>();
   map.put("images", address+"");
   map.put("titles", body);
   datalistView.add(map);
  }
  SimpleAdapter adapter = new SimpleAdapter(this, datalistView, R.layout.activity_xs, new String[]{"images", "titles"}, new int[]{R.id.tv_name, R.id.tv_telephone});
  lv_message.setAdapter(adapter);
 }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持创新互联。


文章标题:android利用ContentResolver访问者获取手机短信信息
分享地址:http://myzitong.com/article/jjhihc.html