安卓简单发送短信小程序.docx

上传人:b****5 文档编号:3295612 上传时间:2022-11-21 格式:DOCX 页数:11 大小:221.57KB
下载 相关 举报
安卓简单发送短信小程序.docx_第1页
第1页 / 共11页
安卓简单发送短信小程序.docx_第2页
第2页 / 共11页
安卓简单发送短信小程序.docx_第3页
第3页 / 共11页
安卓简单发送短信小程序.docx_第4页
第4页 / 共11页
安卓简单发送短信小程序.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

安卓简单发送短信小程序.docx

《安卓简单发送短信小程序.docx》由会员分享,可在线阅读,更多相关《安卓简单发送短信小程序.docx(11页珍藏版)》请在冰豆网上搜索。

安卓简单发送短信小程序.docx

安卓简单发送短信小程序

简单安卓发送短信小程序

1、新建安卓项目:

2、生成一个项目之后在SRC文件夹中的包中自动生成的Action中写代码:

代码如下:

(注释写的很详细,自己看一下吧)

packagecom.sms;

importandroid.app.Activity;

/*必需引用PendingIntent类才能使用getBrocast()*/

importandroid.app.PendingIntent;

importandroid.content.Intent;

importandroid.os.Bundle;

/*必需引用telephony.gsm.SmsManager类才能使用sendTextMessage()*/

importandroid.telephony.SmsManager;

importandroid.view.View;

importandroid.widget.Button;

importandroid.widget.EditText;

importandroid.widget.Toast;

importjava.util.regex.Matcher;

importjava.util.regex.Pattern;

publicclassSend_smsActivityextendsActivity

{

/*声明变量一个Button与两个EditText*/

privateButtonmButton1;

privateEditTextmEditText1;

privateEditTextmEditText2;

/**Calledwhentheactivityisfirstcreated.*/

@Override

publicvoidonCreate(BundlesavedInstanceState)

{

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

/*透过findViewById建构子来建构EditText1,EditText2与Button对象*/

mEditText1=(EditText)(EditText)this.findViewById(R.id.mEditText1);

mEditText2=(EditText)(EditText)this.findViewById(R.id.mEditText2);

mButton1=(Button)(Button)this.findViewById(R.id.mButton1);

/*将默认文字加载EditText中*/

mEditText1.setText("请输入电话号码");

mEditText2.setText("请输入短信内容!

!

");

/*设定onClickListener让使用者点选EditText时做出反应*/

mEditText1.setOnClickListener(newEditText.OnClickListener()

{

publicvoidonClick(Viewv)

{

/*点选EditText时清空内文*/

mEditText1.setText("");

}

});

/*设定onClickListener让使用者点选EditText时做出反应*/

mEditText2.setOnClickListener(newEditText.OnClickListener()

{

publicvoidonClick(Viewv)

{

/*点选EditText时清空内文*/

mEditText2.setText("");

}

});

/*设定onClickListener让使用者点选Button时做出反应*/

mButton1.setOnClickListener(newButton.OnClickListener()

{

@Override

publicvoidonClick(Viewv)

{

/*由EditText1取得简讯收件人电话*/

StringstrDestAddress=mEditText1.getText().toString();

/*由EditText2取得简讯文字内容*/

StringstrMessage=mEditText2.getText().toString();

/*建构一取得defaultinstance的SmsManager对象*/

SmsManagersmsManager=SmsManager.getDefault();

//TODOAuto-generatedmethodstub

/*检查收件人电话格式与简讯字数是否超过70字符*/

if(isPhoneNumberValid(strDestAddress)==true&&iswithin70(strMessage)==true)

{

try

{

/*两个条件都检查通过的情况下,发送简讯*

*先建构一PendingIntent对象并使用getBroadcast()方法进行Broadcast*

*将PendingIntent,电话,简讯文字等参数传入sendTextMessage()方法发送简讯*/

//SmsManagermanager=SmsManager.getDefault();

//smsManager.sendTextMessage("10086",null,"hi,thisissms",null,null);

PendingIntentmPI=PendingIntent.getBroadcast(Send_smsActivity.this,0,newIntent(),0);

smsManager.sendTextMessage(strDestAddress,null,strMessage,mPI,null);//

//smsManager.sendTextMessage("10086",null,"hi,thisissms",mPI,null);

}

catch(Exceptione)

{

e.printStackTrace();

}

Toast.makeText(Send_smsActivity.this,"duanxin成功!

!

",Toast.LENGTH_SHORT).show();

//mEditText1.setText("");

//mEditText2.setText("");

}

/*电话格式与简讯文字不符合条件时,使用Toast告知用户检查*/

else

{

/*电话格式不符*/

if(isPhoneNumberValid(strDestAddress)==false)

{

/*且字数超过70字符*/

if(iswithin70(strMessage)==false)

{

Toast.makeText(Send_smsActivity.this,"电话号码格式错误+短信内容超过70字,请检查!

!

",Toast.LENGTH_SHORT).show();

}

else

{

Toast.makeText(Send_smsActivity.this,"电话号码格式错误,请检查!

!

",Toast.LENGTH_SHORT).show();

}

}

/*字数超过70字符*/

elseif(iswithin70(strMessage)==false)

{

Toast.makeText(Send_smsActivity.this,"短信内容超过70字,请删除部分内容!

!

",Toast.LENGTH_SHORT).show();

}

}

}

});

}

/*检查字符串是否为电话号码的方法,并回传trueorfalse的判断值*/

publicstaticbooleanisPhoneNumberValid(StringphoneNumber)

{

booleanisValid=false;

/*可接受的电话格式有:

*^\\(?

:

可以使用"("作为开头*(\\d{3}):

*紧接着三个数字*\\)?

:

可以使用")"接续*[-]?

:

*在上述格式后可以使用具选择性的"-".*(\\d{3}):

*再紧接着三个数字*[-]?

:

*可以使用具选择性的"-"接续.*(\\d{4})$:

*以四个数字结束.*可以比对下列数字格式:

**(123)456-7890,123-456-7890,1234567890,(123)-456-7890*/

Stringexpression="1[0-9]{10}";

/*可接受的电话格式有:

*^\\(?

:

*可以使用"("作为开头*(\\d{2}):

*紧接着两个数字*\\)?

:

可以使用")"接续*[-]?

:

*在上述格式后可以使用具选择性的"-".*(\\d{4}):

*再紧接着四个数字*[-]?

:

*可以使用具选择性的"-"接续.*(\\d{4})$:

*以四个数字结束.*可以比对下列数字格式:

*

*(123)456-7890,123-456-7890,1234567890,(123)-456-7890*/

Stringexpression2="1[0-9]{10}";

CharSequenceinputStr=phoneNumber;

/*建立Pattern*/Patternpattern=Ppile(expression);

/*将Pattern以参数传入Matcher作Regularexpression*/

Matchermatcher=pattern.matcher(inputStr);

/*建立Pattern2*/Patternpattern2=Ppile(expression2);

/*将Pattern2以参数传入Matcher2作Regularexpression*/

Matchermatcher2=pattern2.matcher(inputStr);

if(matcher.matches()||matcher2.matches())

{

isValid=true;

}

returnisValid;

}

publicstaticbooleaniswithin70(Stringtext)

{

if(text.length()<=70)

returntrue;

else

returnfalse;

}

}

 

其中调用系统发送短信的代码如下:

PendingIntentmPI=PendingIntent.getBroadcast(Send_smsActivity.this,0,newIntent(),0);

smsManager.sendTextMessage(strDestAddress,null,strMessage,mPI,null);

其中sendTextMessage方法:

sendTextMessage(destinationAddress,scAddress,text,sentIntent,deliveryIntent) 

destinationAddress:

收件人号码 

scAddress:

短信中心服务号码,这里设置为null 

text:

发送内容

sentIntent:

发送短信结果状态信号(是否成功发送),new一个Intent,操作系统接收到信号后将广播这个Intent.此过程为异步.

deliveryIntent:

对方接收状态信号(是否已成功接收).

 

在gen文件夹中的R方法代码如下

(注意:

这个方法代码是自动生成的,在主方法中引用R包后就可以调用,其作用有点类似于jsp中的配置文件)

packagecom.sms;

publicfinalclassR{

publicstaticfinalclassattr{

}

publicstaticfinalclassdrawable{

publicstaticfinalintic_launcher=0x7f020000;

}

publicstaticfinalclassid{

publicstaticfinalintmButton1=0x7f050004;

publicstaticfinalintmEditText1=0x7f050001;

publicstaticfinalintmEditText2=0x7f050003;

publicstaticfinalinttextView1=0x7f050000;

publicstaticfinalinttextView3=0x7f050002;

}

publicstaticfinalclasslayout{

publicstaticfinalintmain=0x7f030000;

}

publicstaticfinalclassstring{

publicstaticfinalintapp_name=0x7f040001;

publicstaticfinalinthello=0x7f040000;

}

}

 

最重要的是在项目根目录下的AndroidManifest.XML文件中要添加上一句:

name="android.permission.SEND_SMS"/>

这句话的作用是调用系统发送短信的权限

我的全部代码如下:

xmlversion="1.0"encoding="utf-8"?

>

android="

package="com.sms"

android:

versionCode="1"

android:

versionName="1.0">

minSdkVersion="8"/>

android:

icon="@drawable/ic_launcher"

android:

label="@string/app_name">

android:

name=".Send_smsActivity"

android:

label="@string/app_name">

name="android.intent.action.MAIN"/>

name="android.intent.category.LAUNCHER"/>

name="android.permission.SEND_SMS"/>

 

最后进行一下简单的布局(在res—layout---main.xml中):

注意名字要与主方法中的名字相对应,这个就不过多阐述了

运行:

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 英语

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1