现在的位置: 首页 > 综合 > 正文

Android短信发送器的实现

2013年03月03日 ⁄ 综合 ⁄ 共 2848字 ⁄ 字号 评论关闭

上一篇说了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的短信发送器是非常简单的,


抱歉!评论已关闭.