短信聊天

本文详细介绍了如何在Android中实现短信的获取、显示、删除和更新操作,包括通过ContentResolver查询短信会话,使用ListView展示并处理长按删除,以及短信聊天界面的跳转。同时讲解了如何处理系统发送的短信广播,确保正确存储和显示短信。
摘要由CSDN通过智能技术生成



一,短信的获取及显示,删除,更新
-- 1.1获取短信的读写权限READ_SMS" />.WRITE_SMS"
--1.2 查看短信会话的的列表内容:得到需要的列名
1.2.1:获取Uri:public static final Uri CONVERSATION_URI = Uri.parse("content://mms-sms/conversations");
1.2.1.通过ContentResolver获取内容;遍历获取每列的name及内容;
1.2.3 测试;
--1.3 获取短信会话的内容
1.3.1 ,建封装类封存需要的信息;
1.3.2 ,通过ContentResolver.query()查询需要的列;遍历所有列。把内容添加到封装类的对象中。把对象添加到集合;
--1.4 适配显示短信内容
1.4.1:布局。把构建适配器;关联适配器;
--1.5 短信的删除及更新
1.5.1 ListView 添加长按监听,在DialogManger中添加删除的AlertDialog;SmsManager中写删除的方法;
1.5.2 ListView 添加监听,调用SmsManger中的ContentResolver的update方法。
调用的Uri是:短信收件箱管理Uri SMS_INBOX_URI = Uri.parse("content://sms/inbox");
  ②:adpSms重新加载数据。更新adpSms;

二。短信聊天界面的跳转 查看一个会话下的所有短信,有收·发箱的短信

2.1 ContentResolver的query方法:此时调用的Uri为:public static final Uri SMS_URI = Uri.parse("content://sms");
(此Uri会协调处理短信的收件箱和发件箱)
2.1.2 测试得到想要的属性名
2.2 分析聊天界面,新建封装类封装需要的属性;
2.3 通过ContentResolver.query()查询需要的列;遍历所有列。把内容添加到封装类的对象中。把对象添加到集合;
2.4 构建聊天的适配布局,适配器;
2.5 新建TalkActivity关联适配器;
2.6 在SmsFragment 中添加跳转

三.短信聊天:
3.1如果收到短信系统会发出一个有序广播;如果要拦截该广播需要是订阅广播,并将广播接收器优先级设置
为足够高(0-1000)registerReceiver(myReceiver, filter);

Uri=("content://sms/inbox")
需要将短信存入收件箱,为不重复存储短信,需要忽略该广播,禁止其向下传递(系统收发应用不再存储)
3.2 发出短信也要发出一个广播。当前应用要订阅该广播,将发出的短信存入到发件箱;为可在聊天界面看到自己发出的短信.
Uri=("content://sms/sent")

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值