一段代码,用的时候copy就行
记得在manifest里声明send-sms和read-sms权限
public class SendMsgActivity extends AppCompatActivity { private EditText editText,editText1; private Button button; private static final int SEND_SMS = 100; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_send_msg); editText=findViewById(R.id.send_et_phone); editText1=findViewById(R.id.send_et_have); button=findViewById(R.id.send_btn); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { requestPermission(); } }); } private void requestPermission() { //判断Android版本是否大于23 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { int checkCallPhonePermission = ContextCompat.checkSelfPermission(this, Manifest.permission.CALL_PHONE); if (checkCallPhonePermission != PackageManager.PERMISSION_GRANTED) { ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.SEND_SMS},SEND_SMS); return; } else { sendSMSS(); //已有权限 } } else { //API 版本在23以下 } } /** * 注册权限申请回调 * * @param requestCode 申请码 * @param permissions 申请的权限 * @param grantResults 结果 */ @Override public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) { switch (requestCode) { case SEND_SMS: if (grantResults[0] == PackageManager.PERMISSION_GRANTED) { sendSMSS(); } else { // Permission Denied Toast.makeText(SendMsgActivity.this, "CALL_PHONE Denied", Toast.LENGTH_SHORT).show(); } break; default: super.onRequestPermissionsResult(requestCode, permissions, grantResults); } } //发送短信 private void sendSMSS() { String content = editText1.getText().toString().trim(); String phone = editText.getText().toString().trim(); if (!content.equals("")&&!phone.equals("")) { SmsManager manager = SmsManager.getDefault(); ArrayList<String> strings = manager.divideMessage(content); for (int i = 0; i < strings.size(); i++) { manager.sendTextMessage(phone, null, content, null, null); } Toast.makeText(SendMsgActivity.this, "发送成功", Toast.LENGTH_SHORT).show(); } else { Toast.makeText(this, "手机号或内容不能为空", Toast.LENGTH_SHORT).show(); return; } } }