Android短信发送器

1;先编写layout的页面布局代码:

 1 <!-- android:inputType="phone"指定输入的类型。  -->
 2     <EditText
 3         android:id="@+id/et_phone"
 4         android:inputType="phone"
 5         android:layout_width="match_parent"
 6         android:layout_height="wrap_content"
 7         android:hint="请输入号码"       
 8         />
 9     
10     <EditText 
11        
12         android:id="@+id/et_conter"
13         android:layout_width="match_parent"
14         android:layout_height="wrap_content"
15         android:lines="5"
16         android:hint="请输入短信内容" 
17         
18         />
19     
20     <Button 
21         android:id="@+id/bt"
22         android:layout_width="wrap_content"
23         android:layout_height="wrap_content"
24         android:text="发送"
25         />
26     

2:编写源代码:

import java.util.List;
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;

public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        //通过资源ID来找到对应的button的按钮。
        Button bt = (Button) findViewById(R.id.bt);
        bt.setOnClickListener(new mylistener());
    }

    class mylistener implements OnClickListener{

        @Override
        public void onClick(View v) {
            //首先要先获取到号码文本框。
            EditText phone = (EditText) findViewById(R.id.et_phone);
            //首先要先找到内容文本框。
            EditText conter = (EditText) findViewById(R.id.et_conter);
            //获取到号码文本框和内容文本框里面的内容。
            String p = phone.getText().toString().trim();
            String c = conter.getText().toString();
            
            //获取到短信管理器的对象。
            SmsManager sm = SmsManager.getDefault();
            //如果短信太长,要分割短信,不能超过运营商指定的字符长度。
            List<String> list = sm.divideMessage(c);
            //循环发送短信。
            for(String sms:list){
                //发送短信。
                sm.sendTextMessage(p, null, sms, null,null);
                
            }
            
            
        }
        
    }
   
}

3:获取短信发送的权限

在AndroidManifest.xml文件中添加权限代码。

//短信发送器权限。
<uses-permission android:name="android.permission.SEND_SMS" android:maxSdkVersion="19"/>

 短信发送器是建立在系统电话的应用之上,如果没有系统的电话应用可以用真机来进行调试。

原文地址:https://www.cnblogs.com/huanglinbin/p/6089411.html