首页 > 代码库 > 短信发送器

短信发送器

一、界面

1.最终要实现的界面:

技术分享

 

2.界面布局实现——activity_main.xml:

 1 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 2     android:orientation="vertical"
 3     android:layout_width="match_parent"
 4     android:layout_height="match_parent" >
 5 
 6     <TextView
 7         android:layout_width="match_parent"
 8         android:layout_height="wrap_content"
 9         android:text="@string/mobile" />
10     
11     <EditText 
12         android:id="@+id/editMobile"
13         android:layout_width="match_parent"
14         android:layout_height="wrap_content"
15         />
16     
17     <TextView
18         android:layout_width="match_parent"
19         android:layout_height="wrap_content"
20         android:text="@string/sms" />
21     
22     <EditText 
23         android:id="@+id/editSms"
24         android:layout_width="match_parent"
25         android:layout_height="wrap_content"
26         android:minLines="3"
27         />
28 
29     <Button 
30         android:id="@+id/button"
31         android:layout_width="wrap_content"
32         android:layout_height="wrap_content"
33         android:text="@string/button"/>
34 </LinearLayout>

string.xml:

 1 <?xml version="1.0" encoding="utf-8"?>
 2 <resources>
 3 
 4     <string name="app_name">短信发送器</string>
 5     <string name="mobile">请输入手机号</string>
 6     <string name="sms">请输入短信内容</string>
 7     <string name="button">发送短信</string>
 8     <string name="success">发送完成</string>
 9     <string name="hello_world">Hello world!</string>
10     <string name="action_settings">Settings</string>
11 
12 </resources>

二、权限

清单文件中申请权限:

 1 <?xml version="1.0" encoding="utf-8"?>
 2 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
 3     package="com.example.sms"
 4     android:versionCode="1"
 5     android:versionName="1.0" >
 6 
 7     <uses-sdk
 8         android:minSdkVersion="14"
 9         android:targetSdkVersion="21" />
10 
11     <application
12         android:allowBackup="true"
13         android:icon="@drawable/ic_launcher"
14         android:label="@string/app_name"
15         android:theme="@style/AppTheme" >
16         <activity
17             android:name=".MainActivity"
18             android:label="@string/app_name" >
19             <intent-filter>
20                 <action android:name="android.intent.action.MAIN" />
21 
22                 <category android:name="android.intent.category.LAUNCHER" />
23             </intent-filter>
24         </activity>
25     </application>
26 
27     <uses-permission android:name="android.permission.SEND_SMS" />
28     
29 </manifest>

三、代码实现

MainActivity.java:

 1 package com.example.sms;
 2 
 3 import java.util.ArrayList;
 4 
 5 import android.app.Activity;
 6 import android.content.Intent;
 7 import android.os.Bundle;
 8 import android.telephony.gsm.SmsManager;
 9 import android.text.InputFilter.LengthFilter;
10 import android.view.Menu;
11 import android.view.MenuItem;
12 import android.view.View;
13 import android.widget.Button;
14 import android.widget.EditText;
15 import android.widget.Toast;
16 
17 public class MainActivity extends Activity {
18     private EditText editMobile;
19     private EditText editSms;
20     
21     @Override
22     protected void onCreate(Bundle savedInstanceState) {
23         super.onCreate(savedInstanceState);
24         setContentView(R.layout.activity_main);
25         
26         Button button = (Button)findViewById(R.id.button);
27         button.setOnClickListener(new onButtonClickListener());
28         
29         editMobile= (EditText)findViewById(R.id.editMobile);
30         editSms= (EditText)findViewById(R.id.editSms);
31     }
32 
33     private final class onButtonClickListener implements View.OnClickListener
34     {
35 
36         @Override
37         public void onClick(View v) {
38             // TODO Auto-generated method stub
39             String mobileText = editMobile.getText().toString();
40             String smsText = editSms.getText().toString();
41             SmsManager manager = SmsManager.getDefault();
42             ArrayList<String> texts = manager.divideMessage(smsText);
43             for(String text : texts)//采用增强for循环
44             {
45                 manager.sendTextMessage(mobileText, null, text, null, null);
46             }
47             //提示用户短信发送完成,提示有3中方式
48             //通知:1.状态栏通知     2.对话框通知:给用户的感觉比较生硬    3.吐司(Toast):比较柔和
49     //        Toast.makeText(getApplicationContext(), R.string.success, 0);//
50             Toast.makeText(MainActivity.this, R.string.success,Toast.LENGTH_SHORT).show();
51         }
52         
53     }
54 }

 

 

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:orientation="vertical"    android:layout_width="match_parent"    android:layout_height="match_parent" >
    <TextView        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:text="@string/mobile" />        <EditText         android:id="@+id/editMobile"        android:layout_width="match_parent"        android:layout_height="wrap_content"        />        <TextView        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:text="@string/sms" />        <EditText         android:id="@+id/editSms"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:minLines="3"        />
    <Button         android:id="@+id/button"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="@string/button"/></LinearLayout>

 

短信发送器