作者:高山岩
一、主要内容介绍:
本文基于前面的手机电话拨号功能,我们接下来实现短信发送功能。这之前需要创建两个AVD,相关功能完善。
本文假设您已经知道打电话的实现方法。
二、实现过程:
1、main.xml布局文件如下:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="请输入手机号" />
<EditText
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/mobile"
/>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="请输入短信的内容"
/>
<EditText
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:minLines="3"
android:id="@+id/msessage"
/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/send"
android:text="发送短信"
/>
</LinearLayout>
2、AndroidManifest.xml文件添加信息,要注意<uses-permission>部分。
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.shanyan"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk android:minSdkVersion="4"/>
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<activity
android:name=".Android3G1_02Activity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
</application>
<uses-permission android:name="android.permission.SEND_SMS"/>
</manifest>
3、启动的activity代码如下:
package com.shanyan;
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;
import android.widget.Toast;
public class Android3G1_02Activity extends Activity {
/** Called when the activity is first created. */
private Button bt=null;
private EditText edMobileNum,edMessage=null;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
edMobileNum=(EditText) findViewById(R.id.mobile);
edMessage=(EditText) findViewById(R.id.msessage);
bt=(Button) findViewById(R.id.send);
bt.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
String mobleNum=edMobileNum.getText().toString();
String content=edMessage.toString();
//发短信
SmsManager smsManager=SmsManager.getDefault();
List<String> texts=smsManager.divideMessage(content);
for(String text:texts)
{
smsManager.sendTextMessage(mobleNum, null, text, null, null);
Toast.makeText(Android3G1_02Activity.this,
"短信发送完成", Toast.LENGTH_LONG);
}
}
});
}
}
4运行结果: