天天看點

Android學習之1:實作發送短信功能

1. 建立Android工程,我選擇的Android版本是4.0.3

2. 打開res --> values --> string.xml, 向其中添加如下配置:

<string name="number">請輸入對方手機号碼</string>
<string name="content">請輸入短信内容</string>
<string name="buttonValue">發送短信</string>
<string name="success">發送成功</string>
           

3. 打開 res --> layout  --> activity_main.xml , 添加如下配置:

<TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/number" />
    
    <EditText 
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content"
        android:inputType="number"
        android:id="@+id/number" />
    
    <TextView 
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content"
        android:text="@string/content" />
    
    <!-- 設定了android:inputType,自動換行功能會失效 -->
    <EditText 
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content"
        android:minLines="3"
        android:id="@+id/content" />
    
    <Button 
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content"
        android:text="@string/buttonValue"
        android:id="@+id/buttonValue" />
           

4. 在src下面的MainActivity.java中添加如下代碼

import java.util.ArrayList;

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 MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Button button = (Button) this.findViewById(R.id.buttonValue);
        button.setOnClickListener(new ButtonClickListener());
    }
    
    private class ButtonClickListener implements OnClickListener {

		@Override
		public void onClick(View v) {
			EditText numberText = (EditText) findViewById(R.id.number);
			EditText contentText = (EditText) findViewById(R.id.content);
			// 擷取電話号碼
			String number = numberText.getText().toString();
			// 擷取短信内容
			String content = contentText.getText().toString();
			// 擷取短信管理器
			SmsManager manager = SmsManager.getDefault();
			// 對短信内容進行拆分,防止一條短信内容過長
			ArrayList<String> texts = manager.divideMessage(content);
			for(String string : texts) {
				manager.sendTextMessage(number, null, string, null, null);
			}
			Toast.makeText(getApplicationContext(), R.string.success, 1).show();
		}
    	
    }
}
           

5. 最後打開你的Android工程下面的AndroidManifest.xml ,添加短信發送權限,權限配置可以在android幫助文檔中找到

<uses-permission android:name="android.permission.SEND_SMS"/>
           

6. 運作Android程式到Android虛拟機中,或者是自己的手機中,得到如下結果

Android學習之1:實作發送短信功能

點點部落格文章位址: http://zhidanfeng.diandian.com/post/2013-07-01/40051707909