anroid发送短信接口
搞了这么就的android了,打电话,发短信,发邮件这些接口都没有弄过,惭愧啊,所以今天看了发短信的程序:
原文连接:
http://blog.csdn.net/wenlin56/archive/2010/12/13/6074206.aspx
http://blog.csdn.net/xjanker2/archive/2010/12/13/6074344.aspx
布局文件:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/accepter"
/>
<EditText android:id="@+id/number"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:numeric="integer"
/>
<TextView android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/content"
/>
<EditText android:id="@+id/content"
android:layout_width="fill_parent"
android:layout_height="80dip"
/>
<Button android:id="@+id/send"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/send"/>
</LinearLayout>
程序:
package cn.edu.wtu;
import java.util.List;
import android.app.Activity;
import android.app.PendingIntent;
import android.content.Intent;
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;
import android.widget.Toast;
public class SMS extends Activity implements OnClickListener{
/** Called when the activity is first created. */
//declare
private EditText mContentText;
private EditText mNumberText;
private Button mBtn;
private String mNumber;
private String mContent;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// init
mNumberText = (EditText) findViewById(R.id.number);
mContentText = (EditText) findViewById(R.id.content);
mBtn = (Button) findViewById(R.id.send);
// bind listener
mBtn.setOnClickListener(this);
}
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if(v.getId()==mBtn.getId()){
mNumber = mNumberText.getText().toString();
mContent = mContentText.getText().toString();
PendingIntent pi = PendingIntent.getBroadcast(this, 0, new Intent(), 0);
//android 2.0之前SmsManager 在android.telephone.gsm这个包中,2.0以后在android.telephone这个包中
SmsManager smsManager = SmsManager.getDefault();
//安照一条短信的最大容量来拆分成多条短信
List<String> texts = smsManager.divideMessage(mContent);
for (String text : texts) {
smsManager.sendTextMessage(mNumber, null, text, pi, null);
}
Toast.makeText(this, R.string.ok, Toast.LENGTH_LONG).show();
}
}
}
短信管理器 : SmsManager
1. 在 Android 2.0 以前 应该使用 android.telephony.gsm.SmsManager
之后应该用 android.telephony.SmsManager;
注意是在Application标签之外。
3. 获取系统默认的短信管理器 SmsManager smsManager = SmsManager.getDefault(); 4. 按照每条短信最大字数来拆分短信 List<String> divideContents = smsManager.divideMessage(content); 5. 发送短信 smsManager.sendTextMessage(destinationAddress, scAddress, text, sentIntent, deliveryIntent) -- destinationAddress :目标电话号码 -- scAddress :短信中心号码,测试可以不填 -- text: 短信内容 -- sentIntent :发送 --> 中国移动 --> 中国移动发送失败 --> 返回发送成功或失败信号 --> 后续处理 即,这个意图包装了短信发送状态的信息 -- deliveryIntent : 发送 --> 中国移动 --> 中国移动发送成功 --> 返回对方是否收到这个信息 --> 后续处理 即:这个意图包装了短信是否被对方收到的状态信息(供应商已经发送成功,但是对方没有收到)。 6.声明短信发送权限 * AndroidManifest.xml <uses-permission android:name="android.permission.SEND_SMS"/>更多相关文章
- 调用Android短信软件进行短信群发
- android实现打电话和发短信的功能(10学员张晓丛)
- BroadcastReceive介绍
- Android通讯录管理(获取联系人、通话记录、短信消息)(二)
- Android(安卓)app接收来自adb发送的广播的实例学习
- Android之修改短信程序
- Android的跨进程通信
- Android监听收到的短信
- android实现短信监听