Android获取新收到的短信内容
来源:互联网 发布:中电科大数据院好进吗 编辑:程序博客网 时间:2024/04/29 03:10
1.写在前面
- 在学习使用广播接收最新短信的时候,明明写的和视频里老师讲的代码一模一样,可就是收到的短信为null,不是说收不到短信,而是短信接收到了,收到的短信内容为null,于是度娘了半天,将优先级改到流氓级别的2147483647还是不行。
- 于是我就换了一个思路,还是使用广播接收到有新消息的广播,但是短信内容不从广播中读取,而是延时几秒钟(ps:我用的是3秒),等系统短信应用将数据写入数据库,再从数据库读取短信内容。
2.代码
1.Java代码
public class SmsReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { // 睡眠3秒,等待系统信息APP将短信写入数据库 System.out.println("-----------手机收到新短息----------"); try { Thread.sleep(3000); } catch (InterruptedException e) { e.printStackTrace(); } Uri uri = Uri.parse("content://sms/inbox"); ContentResolver smsResolver = context.getContentResolver(); // 获取sms表中_id最大值,即最新收到短信的_id值 Cursor idCursor = smsResolver.query(uri, new String[] { "count(_id)" }, null, null, null); idCursor.moveToNext(); int _id = idCursor.getInt(0); idCursor.close(); Cursor smsCursor = smsResolver.query(uri, new String[] { "address", "body" }, "_id = ?", new String[] { "" + _id }, null); if (smsCursor != null) { smsCursor.moveToNext(); String address = smsCursor.getString(0); String body = smsCursor.getString(1); System.out.println(_id + "," + address + ":" + body); } }}
2.清单文件
不要忘记在清单文件中注册
<receiver android:name=".receiver.SmsReceiver" > <intent-filter android:priority="2147483647"> <action android:name="android.provider.Telephony.SMS_RECEIVED" /> </intent-filter> </receiver>
3.权限
也不要忘记权限
<uses-permission android:name="android.permission.RECEIVE_SMS"/>
<uses-permission android:name="android.permission.READ_SMS"/>
2.结果
0 0
- Android获取新收到的短信内容
- 读取手机第一条短信内容和监听手机新收到的短信
- android获取短信的内容
- android 收到新短信时,点亮屏幕
- Android监听收到的短信
- Android 获取短信内容
- Android获取新短信
- android开发获取短信的内容
- Android中获取短信的内容
- Android-插入/查询联系人/短信收到提醒(内容观察者)
- Android上监听收到的短信(SMS)
- Android上监听收到的短信(SMS)
- android获取短信所有内容
- android获取短信所有内容
- Android内容访问者获取短信
- 在手机上把收到的短信内容自动播放
- 收到短信广播,还原短信内容。
- android关于监听短信的广播获取内容
- Swift编程基础(二):字符与字符串
- overfeat的网络架构
- nyoj17单调递增最长子序列(N*logN)
- JavaEE web项目目录结构
- android:largeHeap="true"
- Android获取新收到的短信内容
- An Experimental Survey on Correlation Filter-based Tracking
- cmd命令创建windows服务自动开启某个程序
- Linux下cat命令详解
- 双系统重装或更新linux后,出现grub rescue模式
- arm-linux-gcc 移植u-boot2015.04时make menuconfig 错误
- 第五十三篇:SVM讲解经典博文集
- 关闭 全局监听SCREEN_ON和SCREEN_OFF的替代方法--监听屏幕解锁事件
- 深度学习入门笔记:Fast Image Search with Deep Convolutional Neural Networks and Efficient Hashing Codes