要使用手机短信服务,在AndroidManifest.xml中必须添加短信服务权限
AndroidManifest.xml
<?xml version="1.0" encoding="UTF-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="org.me.sendsms"> <application> <activity android:name=".MainActivity" android:label="MainActivity"> <intent-filter> <action android:name="android.intent.action.MAIN"/> <category android:name="android.intent.category.LAUNCHER"/> </intent-filter> </activity> </application> <uses-sdk android:minSdkVersion="3"/> <uses-permission android:name="android.permission.SEND_SMS"/><!--添加权限--> </manifest>
MainActivity.java
package org.me.sendsms; import android.app.Activity; import android.app.PendingIntent; import android.content.Intent; import android.os.Bundle; import android.telephony.gsm.SmsManager; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.Toast; import java.util.List; public class MainActivity extends Activity { private EditText txtNo; private EditText txtContent; private Button btnSend; /** Called when the activity is first created. */ @Override public void onCreate(Bundle icicle) { super.onCreate(icicle); setContentView(R.layout.main); txtNo = (EditText) findViewById(R.id.txtNo); txtContent = (EditText) findViewById(R.id.txtContent); btnSend = (Button) findViewById(R.id.btnSend); btnSend.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { String strNo = txtNo.getText().toString(); String strContent = txtContent.getText().toString(); SmsManager smsManager = SmsManager.getDefault(); PendingIntent sentIntent = PendingIntent.getBroadcast(MainActivity.this, 0, new Intent(), 0); //如果字数超过70,需拆分成多条短信发送 if (strContent.length() > 70) { List<String> msgs = smsManager.divideMessage(strContent); for (String msg : msgs) { smsManager.sendTextMessage(strNo, null, msg, sentIntent, null); } } else { smsManager.sendTextMessage(strNo, null, strContent, sentIntent, null); } Toast.makeText(MainActivity.this, "短信发送完成", Toast.LENGTH_LONG).show(); } }); } }