步骤1.需要先在系统声明权限
<uses-permission android:name="android.permission.CALL_PHONE"/>
<uses-permission android:name="android.permission.SEND_SMS"/>
步骤2.获取控件,添加响应事件
步骤3.获取短信管理者
SmsManager manager = SmsManager.getDefault();
步骤4.发送短信
// 如果短信的内容长过70,那么70以后的文本会被截取掉,
// 所以需要对文本进行处理
// 拿到短信的内容
String text = smstext.getText().toString();
// 调用短信管理者的方法,对短信进行分割
List<String> list = manager.divideMessage(text);
// 遍历(挨个的走一遍所有的元素)list里面的所有数值
// 增强for循环
for (String sms_text : list) {
// 发送短信
manager.sendTextMessage(phonenum.getText().toString(), null, smstext.getText().toString(), null, null);
}
这里写代码片
public class MainActivity extends AppCompatActivity {
/**
* 自定义发送短信的步骤
* 1.声明权限
* 2.获取控件并添加响应事件
* 3.
*
* @param savedInstanceState
*/
private EditText phonenum;
private EditText smstext;
private Button sendButton;
private Button systemsend;
private Button call;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 显示的提醒用户是否允许APK使用短信发送功能
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.SEND_SMS}, -1);
phonenum = (EditText) findViewById(R.id.phonenumber);
smstext = (EditText) findViewById(R.id.sms_text);
sendButton = (Button) findViewById(R.id.send_sms);
systemsend = (Button) findViewById(R.id.systemsend);
call = (Button) findViewById(R.id.call);
// 添加响应事件
sendButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
// 1.获取短信管理者
SmsManager manager = SmsManager.getDefault();
// 2.发送短信
// 如果短信的内容长过70,那么70以后的文本会被截取掉,
// 所以需要对文本进行处理
// 拿到短信的内容
String text = smstext.getText().toString();
// 调用短信管理者的方法,对短信进行分割
List<String> list = manager.divideMessage(text);
// 遍历(挨个的走一遍所有的元素)list里面的所有数值
// 增强for循环
for (String sms_text : list) {
// 发送短信
manager.sendTextMessage(phonenum.getText().toString(), null, smstext.getText().toString(), null, null);
}
Toast.makeText(MainActivity.this, "发送成功", Toast.LENGTH_SHORT).show();
}
});
systemsend.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent(Intent.ACTION_SENDTO, Uri.parse("smsto:" + phonenum));
intent.putExtra("sms_body", smstext.getText().toString());
startActivity(intent);
}
});
call.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent(Intent.ACTION_DIAL);
Uri data = Uri.parse("tel:" + phonenum.getText().toString());
intent.setData(data);
// 直接拨打
// Intent intent = new Intent("android.intent.action.CALL", Uri.parse("tel:"+phoneNumber));
startActivity(intent);
}
});
}
}