上一篇说了Android电话拨号器的实现,同样作为另一个非常重要的工具,Android短信发送器也是非常重要的一个东
西,其实实现起来可能比电话拨号器更加简单,因为短信发送器的SMS功能非常容易实现,下面我们来说一下Android
短信发送器的实现方式。
首先还是界面文件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="@string/number" /> <EditText android:layout_width="fill_parent" android:layout_height="wrap_content" android:inputType="text" android:id="@+id/number"/> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/content" /> <EditText android:layout_width="fill_parent" android:layout_height="wrap_content" android:inputType="text" android:minLines="3" android:id="@+id/content"/> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/button" android:id="@+id/button" /> </LinearLayout>
然后是主配置文件,主要是权限的出示
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.bird.sms"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk android:minSdkVersion="8" android:targetSdkVersion="8"/>
<uses-permission android:name="android.permission.SEND_SMS"/>
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<activity
android:name=".SMSActivity"
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>
</manifest>
然后是Avtivity 的代码了
package com.bird.sms; import java.util.ArrayList; import android.app.Activity; 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; @SuppressWarnings("deprecation") public class SMSActivity extends Activity { private EditText numberText; private EditText contentText; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); numberText = (EditText) this.findViewById(R.id.number); contentText = (EditText) this.findViewById(R.id.content); Button button = (Button) this.findViewById(R.id.button); button.setOnClickListener(new ButtonClick()); } private final class ButtonClick implements View.OnClickListener{ @Override public void onClick(View arg0) { String number = numberText.getText().toString(); String content = contentText.getText().toString(); SmsManager manger = SmsManager.getDefault(); //分割短信字数,如果多余36字分条发送 ArrayList<String> texts=manger.divideMessage(content); for(String text : texts){ manger.sendTextMessage(number, null, text, null, null); } //短信发送完毕,通知用户 Toast.makeText(getApplicationContext(), R.string.success, Toast.LENGTH_LONG); } } }
可以看到,代码还是非常简单的,所以说实现Android的短信发送器是非常简单的,