读取手机第一条短信内容和监听手机新收到的短信
来源:互联网 发布:知乎福利收藏夹 编辑:程序博客网 时间:2024/04/29 16:18
首先添加权限
<!-- 发送短信-->
<uses-permissionandroid:name="android.permission.SEND_SMS"/>
<!-- 阅读消息 -->
<uses-permissionandroid:name="android.permission.READ_SMS"/>
<!-- 写入消息 -->
<uses-permissionandroid:name="android.permission.WRITE_SMS"/>
<!-- 接收消息 -->
<uses-permissionandroid:name="android.permission.RECEIVE_SMS"/>
这段代码是获取手机短信内的第一条信息
private Uri SMS_INBOX = Uri.parse("content://sms/");
public void getSmsFromPhone() {
ContentResolver cr = getContentResolver();
String[] projection = new String[] { "body" };//"_id", "address", "person",, "date", "type
String where = " address = '10010' " ;
Cursor cur = cr.query(SMS_INBOX, projection, null, null, "date desc");
if (null == cur)
return;
if(cur.moveToNext()) {
// int number = cur.getInt(cur.getColumnIndex("address"));//手机号
// String name = cur.getString(cur.getColumnIndex("person"));//联系人姓名列表
String body = cur.getString(cur.getColumnIndex("body"));
System.out.println(" **************"+body);
//这里我是要获取自己短信服务号码中的验证码~~
Pattern pattern = Pattern.compile(" [a-zA-Z0-9]{10}");
Matcher matcher = pattern.matcher(body);
if (matcher.find()) {
String res = matcher.group().substring(1, 11);
System.out.println("======》"+res);
}
}
}
监听手机新来短信
首先注册一个广播
public classSmsReciverextendsBroadcastReceiver
在AndroidManifest.xml注册
<receiverandroid:name=".SmsReciver">
<intent-filterandroid:priority="999">
<actionandroid:name="android.provider.Telephony.SMS_RECEIVED"/>
</intent-filter>
</receiver>
广播类里
public class SmsReciver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
System.out.println("监听到来短信");
Bundle bundle = intent.getExtras();
SmsMessage msg = null;
if (null != bundle) {
Object[] smsObj = (Object[]) bundle.get("pdus");
for (Object object : smsObj) {
msg = SmsMessage.createFromPdu((byte[]) object);
Date date = new Date(msg.getTimestampMillis());//时间
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String receiveTime = format.format(date);
System.out.println("number:" + msg.getOriginatingAddress()
+ " body:" + msg.getDisplayMessageBody() + " time:"
+ msg.getTimestampMillis());
//在这里写自己的逻辑
if (msg.getOriginatingAddress().equals("10086")) {
//TODO
}
}
}
}
}
阅读全文
0 0
- 读取手机第一条短信内容和监听手机新收到的短信
- 监听手机收到短信并自动回复
- 在手机上把收到的短信内容自动播放
- Android获取新收到的短信内容
- Android 监听短信内容变化,并发送到自己的手机
- Android监听收到的短信
- Android项目实战--手机卫士18--读取用户的短信内容以及短信备份
- Android项目实战--手机卫士18--读取用户的短信内容以及短信备份
- android 获取手机电话号码和短信内容
- 获取手机的短信内容和联系人信息
- 内容提供者获取手机所有的短信
- Android读取手机中的短信
- Android上监听收到的短信(SMS)
- Android上监听收到的短信(SMS)
- Android手机上监听短信的两种方式
- Android手机上监听短信的两种方式
- Android手机上监听短信的两种方式
- Android手机上监听短信的两种方式
- web项目浏览器打开遇到问题:HTTP Status 503
- oracle什么时候应该commit(提交事务)
- 使用jstack命令分析线程状态
- 关于Activity的生命周期和onsaveinstancestate很好的两篇文章
- Windows下升级NodeJS和npm的版本
- 读取手机第一条短信内容和监听手机新收到的短信
- Android Studio添加本地或远程依赖
- Codeforces 536B Tavas and Malekas kmp找所有与前缀匹配的后缀
- Unity 中存储数据到JSON本地文件
- 暑期个人赛第二场
- mosquitto的linux下的安
- 数据库SQLite
- ROS Wiki教程总结
- jQuery的增删改查完善