安卓之实现一个简单的短信发送功能
1.首先,新建一个安卓项目,打开项目下的res下的layout,里面有个activity_main.xml布局文件,打开来,修改里面的代码,其中第一个EditText下的android:inputType="phnoe"这条代码是指定编辑框的类型为电话号码,即0-9的阿拉伯数字,其中,第二个EditText下的android:minLines="3"这条代码是设置此编辑框最小的行数为3行,在界面显示下将会出现3行的编辑框,接下来,我将附上布局文件的代码:
2.接下来,打开安卓项目中src下的MainActivity.java文件,在里面添加些代码,下面,将附上MainActivity.java的代码:
package com.example.sms;import java.util.ArrayList;import android.app.Activity;import android.os.Bundle;import android.telephony.SmsManager;import android.view.Menu;import android.view.View;import android.widget.Button;import android.widget.EditText;import android.widget.Toast;public class MainActivity extends Activity {private EditText numberText;private EditText contentText;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main); numberText=(EditText)findViewById(R.id.number);//获取第一个EditText,即输入电话号码的组件contentText=(EditText)findViewById(R.id.content);//获取第二个EditText,即输入短信内容的组件Button button1=(Button)findViewById(R.id.button1);//获取按钮组件,即发送按钮组件button1.setOnClickListener(new ButtonClickListener());//为发送短信添加一个单击监听器}private final class ButtonClickListener implements View.OnClickListener{@Overridepublic void onClick(View v){String number=numberText.getText().toString();//获取第一个文本编辑框里的输入内容,即输入什么电话号码String content=contentText.getText().toString();//获取第二个文本编辑框里的输入内容,即要发送的短信内容SmsManager manager=SmsManager.getDefault();//获得发送短信的管理器,使用的是android.telephony.SmsManagerArrayList texts=manager.divideMessage(content);for(String text:texts){//使用短信管理器发送短信内容//参数一为短信接收者//参数三为短信内容//其他可以设为nullmanager.sendTextMessage(number, null, text, null, null);}Toast.makeText(MainActivity.this, R.string.success, Toast.LENGTH_LONG).show();//Toast,用来显示发送成功的提示}}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// Inflate the menu; this adds items to the action bar if it is present.getMenuInflater().inflate(R.menu.main, menu);return true;}}
3.以上是完整的代码,但是还要对其设置可以发送短信的权限。
4.接下来设置一下权限,在项目下的AndroidManifest要添加多一条代码,即在安卓配置文件下设置可以发送短信的权限,那条代码为:
<?xml version="1.0" encoding="utf-8"?>
5.其中的电话号码和短信内容是我自己在模拟器里打下去的,其模拟器运行显示如下:
6.要实验一下是否能实现发送短信的功能,如果你是部署到真机调试的话,可直接输入电话号码和短信内容,便可发送短信,如果是用模拟器的话,可开启2个模拟器,模拟器中的那个5554:AVD中的5554便是它本身的电话号码,启动第二个模拟器的话,它的电话号码将为5556,在输入手机号中输入5556,短信内容可任意写,点击发送,便可在5556那个模拟器接收到5554那个模拟器发来的信息。
7.另外,还有一个可行的方法,在工具上方菜单下有Window,下拉菜单下有Show View,选择other...里面有个Emulator Control,点击一下,将会出现这样的界面:
8.在这个视图里,可不用写程序和代码,便可发送短信到模拟器上,在那个Incoming number里输入5554模拟器,在选择SMS,在Message里输入短信内容,点击下面的send按钮,便可发送短信到模拟器上。
9.以上内容,供大家学习参考,如果文章有错误,请大家评论该文章,我将会及时改正,若是转载,请注明出处!
更多相关文章
- 没有一行代码,「2020 新冠肺炎记忆」这个项目却登上了 GitHub 中
- 《Android第一行代码》first reading 一
- Android中Adapter中edittext,checkbox记住状态解决方案(二)
- android矢量图之VectorDrawable ,自由又方便的填充色彩
- Android(安卓)图片对比(图片相似度)代码
- android 中的监听器与内部匿名类
- 20172314 2017-2018-2《程序设计与数据结构》第十一周学习总结
- Android小项目之八 界面细节
- 拒绝ndk-build (Android(安卓)Native Development Kit)