Shr*_*uti 14 sms android sendmessage
在我的应用程序不希望使用默认的邮件发件人.为此,我按照以下链接在Android中是否可以在代码中向多个收件人发送短信?
我在我的代码中使用这样的短信管理器
SmsManager sms = SmsManager.getDefault(); sms.sendTextMessage(phoneNumber,null,message,null,null);
但它不发送sms.please帮助我如何在android中发送短信 - 我已经尝试过太多PendingIntent sentPI = PendingIntent.getBroadcast(这,0,新意图(SENT),0);
PendingIntent deliveredPI = PendingIntent.getBroadcast(this, 0,
new Intent(DELIVERED), 0);
SmsManager sms = SmsManager.getDefault();
sms.sendTextMessage(phoneNumber, null, message, sentPI, deliveredPI);
Run Code Online (Sandbox Code Playgroud)
它也不起作用.
SMSAPPActivity.java
编辑:
btnSendSMS.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
String message = txtMessage.getText().toString();
String[] PhnNoArray = new String[2];
PhnNoArray[0] = "9999999999";
PhnNoArray[1] = "8888888888";
// StringTokenizer st = new StringTokenizer(phoneNo, ",");
smsManager = SmsManager.getDefault();
for (int i = 0; i < PhnNoArray.length; i++) {
smsManager = SmsManager.getDefault();
// this is the function that does all the magic
// sms.sendTextMessage(phoneNumber, null, msg, pi, null);
smsManager.sendTextMessage(PhnNoArray[i], null, message, null,
null);
Toast.makeText(getBaseContext(), "SMS sent : " + i,
Toast.LENGTH_SHORT).show();
}
}
});
Run Code Online (Sandbox Code Playgroud)
请看编辑并告诉我我做错了什么.tost正在显示但是使用此代码在其他手机上没有收到短信
Shr*_*uti 21
我使用以下代码将短信发送到多个号码,并将发送的短信保存在消息中
private void sendSMS(String phoneNumber, String message) {
String SENT = "SMS_SENT";
String DELIVERED = "SMS_DELIVERED";
PendingIntent sentPI = PendingIntent.getBroadcast(this, 0, new Intent(
SENT), 0);
PendingIntent deliveredPI = PendingIntent.getBroadcast(this, 0,
new Intent(DELIVERED), 0);
// ---when the SMS has been sent---
registerReceiver(new BroadcastReceiver() {
@Override
public void onReceive(Context arg0, Intent arg1) {
switch (getResultCode()) {
case Activity.RESULT_OK:
ContentValues values = new ContentValues();
for (int i = 0; i < MobNumber.size() - 1; i++) {
values.put("address", MobNumber.get(i).toString());// txtPhoneNo.getText().toString());
values.put("body", MessageText.getText().toString());
}
getContentResolver().insert(
Uri.parse("content://sms/sent"), values);
Toast.makeText(getBaseContext(), "SMS sent",
Toast.LENGTH_SHORT).show();
break;
case SmsManager.RESULT_ERROR_GENERIC_FAILURE:
Toast.makeText(getBaseContext(), "Generic failure",
Toast.LENGTH_SHORT).show();
break;
case SmsManager.RESULT_ERROR_NO_SERVICE:
Toast.makeText(getBaseContext(), "No service",
Toast.LENGTH_SHORT).show();
break;
case SmsManager.RESULT_ERROR_NULL_PDU:
Toast.makeText(getBaseContext(), "Null PDU",
Toast.LENGTH_SHORT).show();
break;
case SmsManager.RESULT_ERROR_RADIO_OFF:
Toast.makeText(getBaseContext(), "Radio off",
Toast.LENGTH_SHORT).show();
break;
}
}
}, new IntentFilter(SENT));
// ---when the SMS has been delivered---
registerReceiver(new BroadcastReceiver() {
@Override
public void onReceive(Context arg0, Intent arg1) {
switch (getResultCode()) {
case Activity.RESULT_OK:
Toast.makeText(getBaseContext(), "SMS delivered",
Toast.LENGTH_SHORT).show();
break;
case Activity.RESULT_CANCELED:
Toast.makeText(getBaseContext(), "SMS not delivered",
Toast.LENGTH_SHORT).show();
break;
}
}
}, new IntentFilter(DELIVERED));
SmsManager sms = SmsManager.getDefault();
sms.sendTextMessage(phoneNumber, null, message, sentPI, deliveredPI);
}
Run Code Online (Sandbox Code Playgroud)
向上面使用的多个号码发送消息的功能如下:
if (MobNumber != null) {
for (int i = 0; i < MobNumber.size(); i++) {
String message = MessageText.getText().toString();
String tempMobileNumber = MobNumber.get(i).toString();
sendSMS(tempMobileNumber, message);
}
Run Code Online (Sandbox Code Playgroud)
1) 在“已发送”而不是“发件箱”中添加邮件,因为“发件箱”包含要发送或处于发送状态的邮件。
2)当您发送消息时,同时将它们添加到“ content://sms/sent uri”中。
是什么阻止你将它们存储在数据库中。以及你还尝试过什么。
使用下面的代码发送短信
smsManager.sendTextMessage(number, null,desc, null, null);
Run Code Online (Sandbox Code Playgroud)
通过使用content://sms/sent URI,您可以将相同的文本消息插入消息数据库
| 归档时间: |
|
| 查看次数: |
18387 次 |
| 最近记录: |