Android发送短信

要使用手机短信服务,在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;

publicclass MainActivity extends Activity {

private EditText txtNo;
private EditText txtContent;
private Button btnSend;

/** Called when the activity is first created. */
@Override
publicvoid 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
publicvoid 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,需拆分成多条短信发送 【6688电子商务网站 www.6688.cc 】
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();
}
});
}

}