当前位置:首页 » 安卓系统 » android短信代码

android短信代码

发布时间: 2025-06-16 01:23:46

1. android 短信验证怎么导入smssdk

官方有开发文档,但是有几点要注意的官方没有提到,导致初始化失败:安卓导入SDKSMS Android的jar包出错,项目运行起来报:unfortunately Stopd

下面开始开发安卓项目调用接口API

创建安卓项目:

修改AndroidManifest.xml文件,加入以下代码(用户权限)

===第一处更改:

代码

<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.RECEIVE_SMS" />
<uses-permission android:name="android.permission.GET_TASKS" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

===第二处更改:

代码

<activity
android:name="cn.smssdk.SMSSDKUIShell"
android:configChanges="keyboardHidden|orientation|screenSize"
android:theme="@android:style/Theme.Translucent.NoTitleBar"
android:windowSoftInputMode="stateHidden|adjustResize" />

拷贝jar包到libs目录(注意!官方没提到,一定要拷贝jar包和armeabi文件夹

正确目录应该以下面结构

在MainActivity中写代码,分2步执行,一加载 二发送

代码(其中AppKey和AppSecret换成自己的)

//初始化
cn.smssdk.SMSSDK.initSDK(this, "你的AppKey", "你的AppSecret");
//发送短信
cn.smssdk.SMSSDK.getVerificationCode("86","18612121304");

编译测试

收到短信

2. Android关于短信的源代码在packages/apps/Mms ,可是packages/apps/Mms这个在哪里

你是要看手机在系统根目录下的存有短信信息的代码或文字吗,首先要有root权限,然后要有能打开系统根目录的文件管理器,推荐re管理器(界面简单内存小),文件路径:根目录/data/data/ com.android.providers.telephony/databases/mmssms.db

mmssms.db选择数据库查看,点开word或word_content可以看到短信内容,我截图给你看,满意请采纳,谢谢!

3. android 开发 一个通过服务端内容自动发送短信到指定号码

服务器和手机端通信,如果要实时通信,就需要使用推送,自己写的推送一般不够好,还是使用专业推送比较好,国内的可以使用极光推送,网络推送等等,如果是国际的可以使用谷歌的google cloud message,或者使用友盟……友盟还是比较靠谱的。

然后手机发送短信只需要一个权限,然后会有很简单的代码就可以发送短信了,而且,一般的第三发推送也可以给服务端发消息,所以你的要求就齐全了。

如果不是用第三方的向服务器报告,也可以自己写和服务器的通信。

如果推送都要自己写,那么android的推送有3种方式,第一socket长连接,比较耗费手机资源和电……第二种轮询,有一点点延迟,看你的实时性有多高……第三种,使用短信息,服务端要有短信网关,手机端则监听手机短信数据库,用这个的比较少,一般长连接比较多。

我的号码就是我qq,有什么问题可以进一步的问我,或者我没时间的话也有很多android开发群 可以介绍给你 随便问问题,有很多高人解答

4. android系统的短信快捷查询如何实现。(代码)

获取会话列表

public static Cursor queryAll(Context context)
{
// Cursor cur = context.getContentResolver().query(CONTENT_URI, PROJECTION,
// "length(snippet)>0", null, null);

Cursor cur = context.getContentResolver().query(Uri.parse("content://sms"),
new String[] {"thread_id,date,address,read,status,type,body,count(address) as "
+ "totleCount,_id from (select thread_id,_id,substr(address,4) as address,date,read,status,type,body "
+ "from sms where address like \"+86%\" and length(thread_id)>0 union select thread_id,_id,address,date,read,status,type,body "
+ "from sms where length(thread_id)>0 and address not like \"+86%\") r group by r.thread_id order by r.date desc --"},
null,
null,
null);
return cur;
}

获取某个会话所有内容
public static void asyncQueryAll(AsyncQueryHandler handler, int token,String thread_id)
{
handler.cancelOperation(token);
ThreadID=thread_id;
handler.startQuery(token, null, SMS_URI_ALL, PROJECTION,sql,new String[]{thread_id},"date desc");
}

5. android直接发送p编码后的短信

实现过程:
1>初始化:ATZ\r
2>设置文本模式:AT+CMGF=0\r(0:p模式,1:text模式)
3>设置PDU头:
typedef struct {
char SCA[16]; // 短消息服务中心号码(SMSC地址)
char TPA[16]; // 目标号码或回复号码(TP-DA或TP-RA)
char TP_PID; // 用户信息协议标识(TP-PID)
char TP_DCS; // 用户信息编码方式(TP-DCS)
char TP_SCTS[16]; // 服务时间戳字符串(TP_SCTS), 接收时用到
char TP_UD[16]; // 原始用户信息
char index; //短消息序号,在读取时用到
}SM_PARAM;
// SMSC地址信息段
memset(buf, 0, sizeof(buf));
nLength = strlen(pSrc->SCA); // SMSC地址字符串的长度
buf[0] = (char)((nLength & 1) == 0 ? nLength : nLength + 1) / 2 + 1; // SMSC地址信息长度
buf[1] = 0x91; // 固定: 用国际格式号码
nDstLength = gsmBytes2String(buf, pDst, 2); // 转换2个字节到目标PDU串
nDstLength += gsmInvertNumbers(pSrc->SCA, &pDst[nDstLength], nLength); // 转换SMSC到目标PDU串
// TPDU段基本参数、目标地址等
memset(buf, 0, sizeof(buf));
nLength = strlen(pSrc->TPA); // TP-DA地址字符串的长度
buf[0] = 0x11; // 是发送短信(TP-MTI=01),TP-VP用相对格式(TP-VPF=10)
buf[1] = 0; // TP-MR=0
buf[2] = (char)nLength; // 目标地址数字个数(TP-DA地址字符串真实长度)
buf[3] = 0x91; // 固定: 用国际格式号码
nDstLength += gsmBytes2String(buf, &pDst[nDstLength], 4); // 转换4个字节到目标PDU串
nDstLength += gsmInvertNumbers(pSrc->TPA, &pDst[nDstLength], nLength); // 转换TP-DA到目标PDU串
// TPDU段协议标识、编码方式、用户信息等

//nLength = strlen(pSrc->TP_UD); // 用户信息字符串的长度
memset(buf, 0, sizeof(buf));
buf[0] = pSrc->TP_PID; // 协议标识(TP-PID)
buf[1] = pSrc->TP_DCS; // 用户信息编码方式(TP-DCS)
buf[2] = 1; // 有效期(TP-VP)为5分钟
buf[3] = str2hex(user_p, pSrc->TP_UD); //用户信息的长度
nDstLength += gsmBytes2String(buf, &pDst[nDstLength], 4); // 转换该段数据到目标PDU串
strcat(p, "\x01a"); //以CTRL-A结束
gsmString2Bytes(p, &nSmscLength, 2); // 取PDU串中的SMSC信息长度

4>发送信息长度:AT+CMGS=长度,这步重要长度不对是发不出去的。

5>发送用户信息

1、目前,发送短消息常用Text和PDU(Protocol Data Unit,协议数据单元)模式。
1>使用Text模式收发短信代码简单,实现起来十分容易,但最大的缺点是不能收发中文短信;
2>使用PDU模式不仅支持中文短信,也能发送英文短信。

2、PDU模式收发短信可以使用3种编码:
1>7-bit(用于发送普通的ASCII字符,它将一串7-bit的字符(最高位为0)编码成8-bit的数据,每8个字符可 “压缩”成7个)
2>8-bit(通常用于发送数据消息,如:图片了,铃声等等)
3>UCS2编码(用于发送Unicode字符)

热点内容
相机存储卡开关 发布:2025-06-16 08:52:06 浏览:392
vue编译图 发布:2025-06-16 08:51:06 浏览:197
FTP的传输方式 发布:2025-06-16 08:50:20 浏览:685
怎么用指纹设置密码 发布:2025-06-16 08:50:07 浏览:26
安卓10如何安装计算器 发布:2025-06-16 08:50:05 浏览:23
手机脚本制作教程 发布:2025-06-16 08:44:38 浏览:103
sql被禁用 发布:2025-06-16 08:40:30 浏览:435
目的存储 发布:2025-06-16 08:40:08 浏览:165
佳能6d用什么存储卡 发布:2025-06-16 08:34:34 浏览:575
我的世界斗罗服务器怎么开 发布:2025-06-16 08:30:44 浏览:680