我正在使用此代码自动发送短信但无效,我可以通过使用意图发送短信
SmsManager sms = SmsManager.getDefault();
PendingIntent sentPI;
String SENT = "SMS_SENT";
sentPI = PendingIntent.getBroadcast(this, 0,new Intent(SENT), 0);
sms.sendTextMessage("+91"+"**********", null, "hii param", sentPI, null);
Toast.makeText(getApplicationContext(), "Your sms sent check your inbox",Toast.LENGTH_LONG).show();
答案 0 :(得分:1)
在 Android.manifest 文件中使用权限
<link href="https://cdnjs.cloudflare.com/ajax/libs/slick-carousel/1.5.9/slick.min.css" rel="stylesheet"/>
<link href="https://cdnjs.cloudflare.com/ajax/libs/slick-carousel/1.5.9/slick-theme.min.css" rel="stylesheet"/>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/slick-carousel/1.5.9/slick.min.js"></script>
<div id="carousel">
<div><a href="#"><img src="http://placehold.it/205x105" /></a></div>
<div><a href="#"><img src="http://placehold.it/205x105/f00/fff" /></a></div>
<div><a href="#"><img src="http://placehold.it/205x105/00f/fff" /></a></div>
<div><a href="#"><img src="http://placehold.it/205x105" /></a></div>
<div><a href="#"><img src="http://placehold.it/205x105/f00/fff" /></a></div>
<div><a href="#"><img src="http://placehold.it/205x105/00f/fff" /></a></div>
</div>
然后调用SmsManager即
<uses-permission android:name="android.permission.SEND_SMS"/>
或者你可以参考这个Stack的问题"content-based router"
答案 1 :(得分:0)
试试这段代码,
public void sendSMS(String phoneNo, String msg){
try {
SmsManager smsManager = SmsManager.getDefault();
smsManager.sendTextMessage(phoneNo, null, msg, null, null);
}
catch (Exception ex) {
ex.printStackTrace();
}
}
并在清单文件中使用此权限
<uses-permission android:name="android.permission.SEND_SMS" />
<强>更新强>
在传递电话号码之前添加您的国家/地区代码
String phoneNo="+91"+editText.getText().toString();
更新2:
不工作的另一个可能原因
如果您在双卡手机中测试此代码,则SIM卡插槽1始终保持活动状态,否则“无服务”错误。
答案 2 :(得分:0)
代码对我来说是有用的..在您需要在清单中提供权限并且还需要在运行时询问
<uses-permission android:name="android.permission.SEND_SMS" />
和活动
runOnUiThread(new Runnable() {
@Override
public void run() {
String number = SMSEditText.getText().toString();
try {
SmsManager smsManager = SmsManager.getDefault();
smsManager.sendTextMessage(number, null, Message, null, null);
} catch (Exception e) {
e.printStackTrace();
}
}
});
如果消息长度大于140或其他.. 则需要拆分消息。它不会工作..这可以通过mulitpart短信实现