Android Toast message可指定消息发送到的号码
因此,我的应用程序中的Android Toast message可指定消息发送到的号码,android,sms,Android,Sms,因此,我的应用程序中的SMS功能几乎完成了。它需要做的最后一件事是显示一个Toast,它将消息发送到哪个号码。 我有以下代码: 全局变量: private BroadcastReceiver sendBroadcastReceiver; private BroadcastReceiver deliveryBroadcastReceiver; String SENT = "SMS_SENT"; String DELIVERED = "SMS_DELIVERED"; sendBroadcast
SMS
功能几乎完成了。它需要做的最后一件事是显示一个Toast
,它将消息发送到哪个号码。
我有以下代码:
全局变量:
private BroadcastReceiver sendBroadcastReceiver;
private BroadcastReceiver deliveryBroadcastReceiver;
String SENT = "SMS_SENT";
String DELIVERED = "SMS_DELIVERED";
sendBroadcastReceiver = new BroadcastReceiver()
{
public void onReceive(Context arg0, Intent arg1)
{
switch (getResultCode())
{
case Activity.RESULT_OK:
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;
}
}
};
deliveryBroadcastReceiver = new BroadcastReceiver()
{
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;
}
}
};
registerReceiver(deliveryBroadcastReceiver, new IntentFilter(DELIVERED));
registerReceiver(sendBroadcastReceiver , new IntentFilter(SENT));
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);
SmsManager sms = SmsManager.getDefault();
sms.sendTextMessage(phoneNumber, null, message, sentPI, deliveredPI);
}
ArrayList<String> contacts = new ArrayList();
List<String> list = SM.getAllValue();
for(String string : list){
contacts.add(string);
}
for(int i = 0; i < contacts.size(); i++){
String numberToSend = contacts.get(i).toString();
sendSMS(numberToSend, sms);
}
在void onCreate(Bundle savedInstanceState)上声明:
private BroadcastReceiver sendBroadcastReceiver;
private BroadcastReceiver deliveryBroadcastReceiver;
String SENT = "SMS_SENT";
String DELIVERED = "SMS_DELIVERED";
sendBroadcastReceiver = new BroadcastReceiver()
{
public void onReceive(Context arg0, Intent arg1)
{
switch (getResultCode())
{
case Activity.RESULT_OK:
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;
}
}
};
deliveryBroadcastReceiver = new BroadcastReceiver()
{
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;
}
}
};
registerReceiver(deliveryBroadcastReceiver, new IntentFilter(DELIVERED));
registerReceiver(sendBroadcastReceiver , new IntentFilter(SENT));
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);
SmsManager sms = SmsManager.getDefault();
sms.sendTextMessage(phoneNumber, null, message, sentPI, deliveredPI);
}
ArrayList<String> contacts = new ArrayList();
List<String> list = SM.getAllValue();
for(String string : list){
contacts.add(string);
}
for(int i = 0; i < contacts.size(); i++){
String numberToSend = contacts.get(i).toString();
sendSMS(numberToSend, sms);
}
发送短信功能:
private BroadcastReceiver sendBroadcastReceiver;
private BroadcastReceiver deliveryBroadcastReceiver;
String SENT = "SMS_SENT";
String DELIVERED = "SMS_DELIVERED";
sendBroadcastReceiver = new BroadcastReceiver()
{
public void onReceive(Context arg0, Intent arg1)
{
switch (getResultCode())
{
case Activity.RESULT_OK:
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;
}
}
};
deliveryBroadcastReceiver = new BroadcastReceiver()
{
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;
}
}
};
registerReceiver(deliveryBroadcastReceiver, new IntentFilter(DELIVERED));
registerReceiver(sendBroadcastReceiver , new IntentFilter(SENT));
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);
SmsManager sms = SmsManager.getDefault();
sms.sendTextMessage(phoneNumber, null, message, sentPI, deliveredPI);
}
ArrayList<String> contacts = new ArrayList();
List<String> list = SM.getAllValue();
for(String string : list){
contacts.add(string);
}
for(int i = 0; i < contacts.size(); i++){
String numberToSend = contacts.get(i).toString();
sendSMS(numberToSend, sms);
}
将联系人(存储在首选项中)调用到方法调用:
private BroadcastReceiver sendBroadcastReceiver;
private BroadcastReceiver deliveryBroadcastReceiver;
String SENT = "SMS_SENT";
String DELIVERED = "SMS_DELIVERED";
sendBroadcastReceiver = new BroadcastReceiver()
{
public void onReceive(Context arg0, Intent arg1)
{
switch (getResultCode())
{
case Activity.RESULT_OK:
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;
}
}
};
deliveryBroadcastReceiver = new BroadcastReceiver()
{
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;
}
}
};
registerReceiver(deliveryBroadcastReceiver, new IntentFilter(DELIVERED));
registerReceiver(sendBroadcastReceiver , new IntentFilter(SENT));
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);
SmsManager sms = SmsManager.getDefault();
sms.sendTextMessage(phoneNumber, null, message, sentPI, deliveredPI);
}
ArrayList<String> contacts = new ArrayList();
List<String> list = SM.getAllValue();
for(String string : list){
contacts.add(string);
}
for(int i = 0; i < contacts.size(); i++){
String numberToSend = contacts.get(i).toString();
sendSMS(numberToSend, sms);
}
在向多个号码发送消息时,下面的代码会反复向我发送SMS Sent
toast。我现在如何在toast中指定数字,例如发送到Number1的短信、发送到Number2的短信等,或者统称所有短信都已发送
。
请帮助:)首先在此处添加新变量
String SENT = "SMS_SENT";
String DELIVERED = "SMS_DELIVERED";
命名它String name=null代码>
然后在stringnumbertosend=contacts.get(i).toString()下代码>
添加name=numberToSend代码>
现在在toast中添加变量
Toast.makeText(getBaseContext(), "SMS to " + name + " has been sent.", Toast.LENGTH_SHORT).show();
更新:
private BroadcastReceiver sendBroadcastReceiver;
private BroadcastReceiver deliveryBroadcastReceiver;
String SENT = "SMS_SENT";
String DELIVERED = "SMS_DELIVERED";
sendBroadcastReceiver = new BroadcastReceiver()
{
public void onReceive(Context arg0, Intent arg1)
{
switch (getResultCode())
{
case Activity.RESULT_OK:
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;
}
}
};
deliveryBroadcastReceiver = new BroadcastReceiver()
{
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;
}
}
};
registerReceiver(deliveryBroadcastReceiver, new IntentFilter(DELIVERED));
registerReceiver(sendBroadcastReceiver , new IntentFilter(SENT));
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);
SmsManager sms = SmsManager.getDefault();
sms.sendTextMessage(phoneNumber, null, message, sentPI, deliveredPI);
}
ArrayList<String> contacts = new ArrayList();
List<String> list = SM.getAllValue();
for(String string : list){
contacts.add(string);
}
for(int i = 0; i < contacts.size(); i++){
String numberToSend = contacts.get(i).toString();
sendSMS(numberToSend, sms);
}
首先,去掉你的每一次接触
Toast.makeText(getBaseContext(), "SMS Sent", Toast.LENGTH_SHORT).show();
我更喜欢把它做成Log.e(“fd”,“Fddf”)代码>
然后在循环中添加一个if语句
for(int i = 0; i < contacts.size(); i++){
if (i = contacts.size(){
Toast.makeText(getBaseContext(), "SMS Sent to all contacts.", Toast.LENGTH_SHORT).show();
}else {
String numberToSend = contacts.get(i).toString();
sendSMS(numberToSend, sms);
}
}
for(int i=0;i
首先在此处添加一个新变量
String SENT = "SMS_SENT";
String DELIVERED = "SMS_DELIVERED";
命名它String name=null;
然后在String numberToSend=contacts.get(i).toString()下;
添加name=numberToSend;
现在在toast中添加变量
Toast.makeText(getBaseContext(), "SMS to " + name + " has been sent.", Toast.LENGTH_SHORT).show();
更新:
private BroadcastReceiver sendBroadcastReceiver;
private BroadcastReceiver deliveryBroadcastReceiver;
String SENT = "SMS_SENT";
String DELIVERED = "SMS_DELIVERED";
sendBroadcastReceiver = new BroadcastReceiver()
{
public void onReceive(Context arg0, Intent arg1)
{
switch (getResultCode())
{
case Activity.RESULT_OK:
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;
}
}
};
deliveryBroadcastReceiver = new BroadcastReceiver()
{
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;
}
}
};
registerReceiver(deliveryBroadcastReceiver, new IntentFilter(DELIVERED));
registerReceiver(sendBroadcastReceiver , new IntentFilter(SENT));
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);
SmsManager sms = SmsManager.getDefault();
sms.sendTextMessage(phoneNumber, null, message, sentPI, deliveredPI);
}
ArrayList<String> contacts = new ArrayList();
List<String> list = SM.getAllValue();
for(String string : list){
contacts.add(string);
}
for(int i = 0; i < contacts.size(); i++){
String numberToSend = contacts.get(i).toString();
sendSMS(numberToSend, sms);
}
首先,去掉你的每一次接触
Toast.makeText(getBaseContext(), "SMS Sent", Toast.LENGTH_SHORT).show();
我更喜欢把它做成Log.e(“fd”、“Fddf”);
然后在循环中添加一个if语句
for(int i = 0; i < contacts.size(); i++){
if (i = contacts.size(){
Toast.makeText(getBaseContext(), "SMS Sent to all contacts.", Toast.LENGTH_SHORT).show();
}else {
String numberToSend = contacts.get(i).toString();
sendSMS(numberToSend, sms);
}
}
for(int i=0;i
在发送的广播目的(新目的(发送)
)中,您可以添加发送目的地的号码:
Intent intent = new Intent(SENT);
intent.putExtra("number", phoneNumber);
PendingIntent sentPI = PendingIntent.getBroadcast(this, 0, intent, 0);
然后在接收器中,您可以使用以下号码:
public void onReceive(Context arg0, Intent arg1) {
String phoneNumber = arg1.getStringExtra("number");
// Use it in the toast
}
在已发送的广播意图(新意图(已发送)
)中,您可以添加发送该广播意图的号码:
Intent intent = new Intent(SENT);
intent.putExtra("number", phoneNumber);
PendingIntent sentPI = PendingIntent.getBroadcast(this, 0, intent, 0);
然后在接收器中,您可以使用以下号码:
public void onReceive(Context arg0, Intent arg1) {
String phoneNumber = arg1.getStringExtra("number");
// Use it in the toast
}
使用这个函数,我得到了生成的每个吐司的最后一个numberToSend
。这不是你想要的吗?短信发送到96955995?是的…但我也想显示剩余的数字…比如如果我有num1、num2和num3,我希望所有的数字都出现在吐司中。当前的代码只给出num3。那么你想要这样的吐司吗t到xx1、xx2、xx3、xx4、xx5?这或是单独发送的消息。使用它,我得到了生成的每个烤面包上的最后一个numberToSend
。这不是你想要的吗?短信发送到96955995?是的…但我也想显示剩余的数字…就像我有num1、num2和num3一样,我希望所有的数字都来在toast中向上。当前代码仅给出num3。因此,您想要这样的toast..sms发送到xx1、xx2、xx3、xx4、xx5?无论是单独发送还是单独发送,消息都应该已经发送。我只是从首选项中获取第一个数字。SM.getAllValues()
gives以列表的形式返回用户保存为其android首选项的所有值。我看不出这与我给出的答案有什么关系?…您给出的答案…循环最后一个数字…就像我有num1、num2和num3一样。toast而不是给我…消息发送给num1,消息发送给num2,消息sent到num3向我发送消息到num3(x3).不应该。我给出的答案包括您发送短信的目的是通知您消息已发送到的号码。因此,toast应该显示与消息发送到的号码完全相同的号码。我只是从首选项中获取第一个号码。SM.getAllValues()
gives以列表的形式返回用户保存为其android首选项的所有值。我看不出这与我给出的答案有什么关系?…您给出的答案…循环最后一个数字…就像我有num1、num2和num3一样。toast而不是给我…消息发送给num1,消息发送给num2,消息sent to num3向我发送消息给num3(x3)。不应该。我给出的答案包括您发送短信的号码,目的是通知您消息已发送。因此,toast应显示与消息发送到的号码完全相同的号码。