短信发送器
短信界面。 Uri uri = Uri.parse("smsto:" + mobilePhoneNumber);
Intent ii = new Intent(Intent.ACTION_SENDTO, uri);// 绿色文字就是启动发送短信窗口
String smsBody = "";
ii.putExtra("sms_body", smsBody);
startActivity(ii);短信发送器 |
一、效果图:
|
二、技术点 1、布局文件 activity_main.xml a) android:inputType="phone" 防止用户输入字母 b) android:inputType="textMultiLine" 初始化就有5行
android:lines="5"
2、MainActivity.java
TextUtils.isEmpty(smsNmber)
google提供的用于判断字符串是否为null或者为"",空为true 底层实现:
public static boolean isEmpty(CharSequence str) {
if (str == null || str.length() == 0)
return true;
else
return false;
}
3、发送短信、彩信 SmsManager smsManager = SmsManager.getDefault();//SmsManager构造器是私有化的
发送短信:
smsManager.sendTextMessage(destinationAddress, scAddress, text, sentIntent, deliveryIntent)
//各个参数:短信路标地址,源地址(我国国情为null),发送的文本内容,发送反馈,对方接收反馈
发送彩信:
smsManager.sendDataMessage(destinationAddress, scAddress, destinationPort, data, sentIntent, deliveryIntent)
如果一条短信超出大小,就会发送不出去,google也为我们设计好了
ArrayList<String> divideMessage = smsManager.divideMessage(smsContent);//如果短信内容过长,提示发出去,但对方接收不到信息。
for (String message : divideMessage) {
smsManager.sendTextMessage(smsNmber, null, message, null , null);
Toast.makeText(this, "发送成功", Toast.LENGTH_LONG).show(); } |
Caused by: java.lang.SecurityException: Sending SMS message: User 10043 does not have android.permission.SEND_SMS. |