android利用ContentResolver访问者获取手机短信信息
作者:ly593988490 时间:2022-02-02 15:02:37
利用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