Android學習之短信發送器

今天,繼續android學習,一個小小的例子來記錄一下。

佈局文件如下:


    
    
    
    
    

xml文件的相關參數,我已經在之前的電話撥號器裡面有簡單的介紹到,這裡就不做詳細的介紹瞭。

接下來就是相關的操作瞭,具體代碼如下所示:

package com.example.sms;

import java.util.ArrayList;

import android.os.Bundle;
import android.app.Activity;
import android.telephony.SmsManager;
import android.telephony.SmsMessage;
import android.text.TextUtils;
import android.view.Menu;
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 implements OnClickListener {
	private EditText et_number = null;
	private EditText et_content = null;
	private Button send_sms = null;
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		et_number = (EditText) findViewById(R.id.et_number);
		et_content = (EditText) findViewById(R.id.et_content);
		send_sms = (Button) findViewById(R.id.send_sms);
		send_sms.setOnClickListener(this);
	}
	@Override
	public void onClick(View v) {
		switch (v.getId()) {
		case R.id.send_sms:
			String number = et_number.getText().toString().trim();
			String content = et_content.getText().toString();
			if(TextUtils.isEmpty(number) || TextUtils.isEmpty(content)) {
				Toast.makeText(this, "號碼或者內容不能為空",Toast.LENGTH_SHORT).show();
			}
			SmsManager smsManager = SmsManager.getDefault();
			ArrayList contents = smsManager.pideMessage(content);
			for(String str : contents) {
				smsManager.sendTextMessage(number, null,str,null,null);
			}
			break;
		default:
			break;
		}
	}
}

這裡采用的是之前所說的4中響應方式的第四種。

在監聽器裡面主要是通過註冊監聽的控件的ID來區分是屬於哪種事件的。這裡通過相關方法獲取到文本框輸入的電話號碼和要發送的內容,如果有一項為空,通會通過Toast(吐司)輸出一個提示信息,顯示“號碼或者內容不能為空”。

接下來,發送信息的時候也會出現權限的錯誤,需要添加SEND_SMS權限。如下所示:



    
    

    
        
            
                

                
            
        
    


好瞭,所有的工作已經完成,接下來就可以輸入電話號碼和內容進行發送給瞭,而且可以在超出信息長度的情況下,把信息分成多段來艾段發送。

今天的學習就先到這裡。之後我會繼續把學習心得記錄在這裡,以便大傢和自己學習。

發佈留言