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

作者:ly593988490 时间:2022-02-02 15:02:37 

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

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

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

activity_message.xml类:


<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_message"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context="com.example.android_25.MessageActivity">
<ListView
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:id="@+id/lv_message"
 >
</ListView>
</LinearLayout>

activity_xs.xml类


<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_xs"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context="com.example.android_25.XsActivity">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/tv_name"
/>
<TextView
 android:layout_width="match_parent"
 android:layout_height="wrap_content"
 android:id="@+id/tv_telephone"
 />
</LinearLayout>

MessageActivity类:


public class MessageActivity extends AppCompatActivity {

private ListView lv_message;
private ContentResolver cr;
private ArrayList<Map<String, Object>> 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<String, Object> 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);
}
}

来源:http://blog.csdn.net/ly593988490/article/details/56293592

标签:android,ContentResolver
0
投稿

猜你喜欢

  • IDEA快速搭建spring boot项目教程(Spring initializr)

    2023-08-17 21:11:16
  • SpringBoot+Eureka实现微服务负载均衡的示例代码

    2021-09-19 07:10:13
  • Android ProgressDialog进度条使用详解

    2022-09-24 17:06:03
  • Unity3d使用FairyGUI 自定义字体的操作

    2022-05-29 16:57:27
  • C#识别出图片里的数字和字母

    2023-04-12 08:21:41
  • 详解Spring Boot + Mybatis 实现动态数据源

    2023-06-08 13:53:18
  • 详细聊聊SpringBoot中动态切换数据源的方法

    2023-11-24 04:07:49
  • 基于@RestControllerAdvice与@ControllerAdvice的区别说明

    2022-06-24 21:00:36
  • 使用Jackson反序列化遇到的问题及解决

    2023-11-13 21:12:14
  • C#通过流写入一行数据到文件的方法

    2023-08-22 13:04:08
  • redis实现队列的阻塞、延时、发布和订阅

    2021-07-02 10:56:19
  • C#通过NPOI操作Excel的实例代码

    2022-01-20 17:26:29
  • 使用淘宝ip地址库查ip的示例

    2023-02-05 19:19:11
  • JVM中的GC初识

    2022-08-04 08:37:13
  • 浅谈android Fragment横竖屏翻转对重新加载的要求

    2023-07-27 21:55:28
  • Struts2 Result 参数详解

    2022-04-28 07:54:35
  • Spring boot + mybatis + Vue.js + ElementUI 实现数据的增删改查实例代码(二)

    2022-11-14 18:37:22
  • IDEA2020.1使用LeetCode插件运行并调试本地样例的方法详解

    2022-02-28 09:44:47
  • Java之操作Redis案例讲解

    2023-06-18 03:48:41
  • 基于java构造方法Vector查找元素源码分析

    2023-11-29 04:33:30
  • asp之家 软件编程 m.aspxhome.com