[android-003]android app获取手机短信

news/2025/4/21 10:11:14/

1.在AndroidManifest.xml配置权限

<uses-permission android:name="android.permission.READ_SMS"/><uses-permission android:name="android.permission.WRITE_SMS"/>

2.在需要读取短信的函数里配置权限,然后读短信

//如果要读短信,必须在这里配置权限if (ContextCompat.checkSelfPermission(MainActivity.this, Manifest.permission.READ_SMS)!= PackageManager.PERMISSION_GRANTED) {ActivityCompat.requestPermissions(MainActivity.this, new String[]{Manifest.permission.READ_SMS}, 1);}//设置 读取收件箱
//        Uri uri = Uri.parse(SMS_URI_INBOX);Uri uri = Uri.parse(SMS_URI_ALL);SmsContent sc = new SmsContent(this, uri);//读取所有短信infos = sc.getSmsInfo();....//activtiy是从MainActivity传进来的,从它获取context,再从contect获取contentResolverContentResolver cr = activity.getApplicationContext().getContentResolver();//获取数据的列/属性String[] projection = new String[]{"_id", "address", "person","body", "date", "type", "sim_id"};Cursor cusor = cr.query(uri, projection, null, null, "date desc");//发短信的人是谁,如果此人在通讯录显示其名字,如果不在,显示Nullint nameColumn = cusor.getColumnIndex("person");//短信内容int smsbodyColumn = cusor.getColumnIndex("body");//日期,long型,如1256539465022,可以对日期显示格式进行设置int dateColumn = cusor.getColumnIndex("date");//type:短信类型1是接收到的,2是已发出int typeColumn = cusor.getColumnIndex("type");int simIdColumn = cusor.getColumnIndex("sim_id");//发短信的手机号int addressColumn = cusor.getColumnIndex("address");if (cusor != null) {while (cusor.moveToNext()) {SmsInfo smsinfo = new SmsInfo();String sms = "name:"+cusor.getString(nameColumn)+";"+"date:"+cusor.getString(dateColumn)+";"+"address:" +cusor.getString(addressColumn)+";"+"body:"+cusor.getString(smsbodyColumn)+";"+"type:"+cusor.getColumnIndex("type")+";"+"sim_id:"+cusor.getColumnIndex("sim_id")+";"+"imei:" + imeistring;smsinfo.setSms(sms);infos.add(smsinfo);}cusor.close();}

 


http://www.ppmy.cn/news/202198.html

相关文章

基于SMS短信平台给手机发送短信

JAVA发送手机短信,我知道的有三种方式&#xff0c;恰逢项目需求&#xff0c;自己整理了基于SMS的短信发送&#xff0c;其他两种这里就说说一下 使用webservice接口发送手机短信,这个可以使用sina提供的webservice进行发送,但是需要进行注册 使用短信mao的方式进行短信的发送,这…

安卓获取手机短信所有内容

<uses-permission android:name"android.permission.RECEIVE_SMS" /> <!-- <!&ndash;读取短信信息的权限&ndash;> --> <!-- <uses-permission android:name"android.permission.SEND_SMS" /> <!&ndash; 收短…

Android监听手机短信

Android监听手机短信的方法有两种&#xff0c;分别为&#xff1a; 1、接受系统的短信广播&#xff1a;当手机收到新消息时&#xff0c;会发送一条广播&#xff0c;通过该广播就可以获取短信内容&#xff1b; 2、监听短信数据库&#xff1a;利用观察者模式监听短信数据库&#x…

Android安卓——实现发短信功能的代码

本处给出的是简单的发短信的笼统代码过程&#xff0c;可根据自己的知识&#xff0c;结合起来进行完善。 在配置文件中给权限配置 <uses-permission android:name"android.permission.SEND_SMS"/> 代码实现&#xff1a; 从 Android 6.0&#xff08;API 级别 2…

Android 获取手机所有短信内容

一、在AndroidManifest.xml 的manifest标签下添加操作短信的相关权限&#xff1b; 二、从短信数据库读取所有短信&#xff1b; private Uri SMS_INBOX Uri.parse("content://sms/");private void obtainPhoneMessage() {ContentResolver cr getContentResolver();…

51实现gsm的发短信收短信的程序

经过两周多的奋斗&#xff0c;终于能用单片机发送一个简单的英文短信了。。。哈哈。。 以下是源码&#xff1a; #include<reg52.h> #include<intrins.h> #define uint unsigned int #define uchar unsigned char #define KEY0_OK 1 #define KEY1_OK 2 #define …

java 免费发送手机短信功能

天天打酱油&#xff0c;闲来无事把现有项目上的一些对以后开发有用的实例进行提取&#xff01; package com;import java.io.BufferedReader; import java.io.DataOutputStream; import java.io.IOException; import java.io.InputStreamReader; import java.net.HttpURLConnec…

Android发送接收短信的代码示例

1、SMS Activity 短信发送Class package cn.dccssq;import java.util.List;import android.app.Activity;import android.app.PendingIntent;import android.content.BroadcastReceiver;import android.content.Context;import android.content.Intent;import android.content…