我想向五个不同的号码发送消息。我通过使用getIntent()方法从另一页获取该数字。任何人都可以请给出正确的方式来发送消息。我使用以下代码。但它祝贺“短信发送第一个号码”,然后所有其他消息都失败了。!!但问题是我甚至没有收到任何消息。!!
try{
SmsManager smsManager = SmsManager.getDefault();
smsManager.sendTextMessage( phonenumber1 ,null,message,null, null);
Toast.makeText(getApplicationContext(), "SMS Sent to First Number.!",Toast.LENGTH_LONG).show();
}catch(Exception e)
{
Toast.makeText(getApplicationContext(), "SMS Sent failed to First Number.!",Toast.LENGTH_LONG).show();
e.printStackTrace();
} // like this up to phonenumber5 with the same try and catch block each five times
答案 0 :(得分:1)
试试这样。首先,将所有数字放在一个字符串数组中,并使用for循环而不是5 try catch。
String receipentsNumber[] = {"111","222","333","444","555"};
for (int i = 0; i < receipentsNumber.length; i++) {
try {
SmsManager smsManager = SmsManager.getDefault();
smsManager.sendTextMessage(receipentsNumber[i], null, message, null,
null);
Toast.makeText(getApplicationContext(), "SMS Sent to" + " " + receipentsNumber[i], Toast.LENGTH_LONG).show();
} catch (Exception e) {
Toast.makeText(getApplicationContext(), "SMS faild, please try again later!", Toast.LENGTH_LONG).show();
e.printStackTrace();
}
}
当您获得第一个号码的成功时,我认为您已在清单中添加了权限。
<uses-permission android:name="android.permission.SEND_SMS"/>
希望这有帮助。
答案 1 :(得分:0)
5尝试捕获不是一个好方法。为什么不将所有数字放在字符串数组中,并使用for循环而不是5 try catch