Androidx学习笔记(5)--短信发送器

短信发送器

功能:用户输入号码和短信内容,点击发送按钮,调用短信api把短信发送给指定号码

备注:发送短信的API,我们是可以直接访问的

我们有两种方式进行发送短信:
a.通过动作 Intent.ACTION_CALL
b.调用系统API

1. 定义布局

  • 输入框的提示

    android:hint="请输入号码"  
    

2. 完成点击事件

  • 先给Button组件设置onClick属性
  • onClick="send"
    
  • 在Activity中定义此方法
  • public void send(View v){}
    

3. 获取到用户输入的号码和内容

    EditText et_phone = (EditText) findViewById(R.id.et_phone);
    EditText et_content = (EditText) findViewById(R.id.et_content);
    String phone = et_phone.getText().toString();
    String content = et_content.getText().toString();

4. 调用发送短信的api

    //调用发送短信的api
    SmsManager sm = SmsManager.getDefault();

    //发送短信
    sm.sendTextMessage(phone, null, content, null, null);
  • 添加权限

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

  • 如果短信过长,需要拆分

    List<String> smss = sm.divideMessage(content);

短信发送器

import java.util.ArrayList;
import android.os.Bundle;
import android.app.Activity;
import android.telephony.SmsManager;
import android.view.Menu;
import android.view.View;
import android.widget.EditText;
public class MainActivity extends Activity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }
    public void send(View v){
    	//拿到用户输入的号码和内容
    	EditText et_phone = (EditText) findViewById(R.id.et_phone);
    	EditText et_content = (EditText) findViewById(R.id.et_content);
    	
    	String phone = et_phone.getText().toString();
    	String content = et_content.getText().toString();
    	
    	//1.获取短信管理器
    	SmsManager sm = SmsManager.getDefault();
    	
    	//2.切割短信,把长短信分成若干个小短信
    	ArrayList<String> smss = sm.divideMessage(content);
    	
    	//3.for循环把集合中所有短信全部发出去
    	for (String string : smss) {
			
    		sm.sendTextMessage(phone, null, string, null, null);
		}
    }
    
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值