Android 发短信功能实现
http://blog.youkuaiyun.com/kongxiuqi/article/details/50781784
第一个方法是进入短信发送界面 但是需要手动按发送
第二个方法总在sendTextMessage的地方停下来 我看权限也给了
怀疑是因为他代码骚了一下 定义了一个PendingIntent sentPI
Android——SMS接收发短信与运行权限
https://www.cnblogs.com/llw1996/p/6721348.html
如何判断android 短信发送(sendTextMessage)是否成功
http://blog.youkuaiyun.com/garybook/article/details/16887627
Android6.0动态权限申请步骤以及需要注意的一些坑
https://www.jianshu.com/p/a51593817825
遇到的问题 之前一直显示没有权限
后来发现 是因为我在Androidmanifest.XML里面
将定义在application内,所以一直没有申请。
这是默认的名字
private static final String SENT_SMS_ACTION = "demo_sms_send_action";
private static final String KEY_PHONENUM = "phone_num";
String phone = “13110511823”;
String content= “您的锁10次未开,请注意小偷”;
在oncreate
//查看短信权限
if (ContextCompat.checkSelfPermission(MainActivity.this, Manifest.permission.SEND_SMS) != PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(MainActivity.this, new String[]{Manifest.permission.SEND_SMS}, 1);
}
调用sendSMS(phone,content);
public void sendSMS(String phoneNumber,String message){
android.telephony.SmsManager smsManager = android.telephony.SmsManager.getDefault();
List<String> divideContents = smsManager.divideMessage(message);
for (String text : divideContents) {
smsManager.sendTextMessage(phoneNumber, null, text, null, null);
}
}
//重写onRequestPermissionsResult
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
switch (requestCode) {
case 1:
if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
//这里写操作 如send(); send函数中New SendMsg (号码,内容);
} else {
Toast.makeText(this, "你没启动权限", Toast.LENGTH_SHORT).show();
}
break;
default:
}
}