如何在android中自动发送短信

时间:2016-03-21 09:33:54

标签: android

我正在使用此代码自动发送短信但无效,我可以通过使用意图发送短信

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();

3 个答案:

答案 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始终保持活动状态,否则“无服务”错误。

参考 - https://stackoverflow.com/a/32090923/3879847

答案 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短信实现