Android-短信发送器
1;先编写layout的页面布局代码:
1 <!-- android:inputType="phone"指定输入的类型。 --> 2 <EditText 3 android:id="@+id/et_phone" 4 android:inputType="phone" 5 android:layout_width="match_parent" 6 android:layout_height="wrap_content" 7 android:hint="请输入号码" 8 /> 9 10 <EditText 11 12 android:id="@+id/et_conter" 13 android:layout_width="match_parent" 14 android:layout_height="wrap_content" 15 android:lines="5" 16 android:hint="请输入短信内容" 17 18 /> 19 20 <Button 21 android:id="@+id/bt" 22 android:layout_width="wrap_content" 23 android:layout_height="wrap_content" 24 android:text="发送" 25 /> 26
2:编写源代码:
import java.util.List; import android.app.Activity; import android.os.Bundle; import android.telephony.SmsManager; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.EditText; public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //通过资源ID来找到对应的button的按钮。 Button bt = (Button) findViewById(R.id.bt); bt.setOnClickListener(new mylistener()); } class mylistener implements OnClickListener{ @Override public void onClick(View v) { //首先要先获取到号码文本框。 EditText phone = (EditText) findViewById(R.id.et_phone); //首先要先找到内容文本框。 EditText conter = (EditText) findViewById(R.id.et_conter); //获取到号码文本框和内容文本框里面的内容。 String p = phone.getText().toString().trim(); String c = conter.getText().toString(); //获取到短信管理器的对象。 SmsManager sm = SmsManager.getDefault(); //如果短信太长,要分割短信,不能超过运营商指定的字符长度。 List<String> list = sm.divideMessage(c); //循环发送短信。 for(String sms:list){ //发送短信。 sm.sendTextMessage(p, null, sms, null,null); } } } }
3:获取短信发送的权限
在AndroidManifest.xml文件中添加权限代码。
//短信发送器权限。
<uses-permission android:name="android.permission.SEND_SMS" android:maxSdkVersion="19"/>
短信发送器是建立在系统电话的应用之上,如果没有系统的电话应用可以用真机来进行调试。