在时间上发送多个模拟器短信

问题描述:

  1. 我开发一个Android应用程序,我需要发送一条消息给 在同一时间。但问题是只有一个 仿真器接收message.Here接收多个模拟器是我的代码。在时间上发送多个模拟器短信

    公共类SMS延伸活动 {

    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) 
    { 
        super.onCreate(savedInstanceState); 
    
        setContentView(R.layout.main); 
    
        btnSendSMS = (Button) findViewById(R.id.btn_SendSms); 
    
        txtPhoneNo = (EditText) findViewById(R.id.edittext_PhoneNumber); 
    
        txtMessage = (EditText) findViewById(R.id.edittext_MessageBody); 
    
        btnSendSMS.setOnClickListener(new View.OnClickListener() 
    
        { 
         public void onClick(View v) 
    
         {     
          String message = txtMessage.getText().toString(); 
    
          String phoneNo = txtPhoneNo.getText().toString(); 
    
          StringTokenizer st=new StringTokenizer(phoneNo,","); 
    
          while (st.hasMoreElements()) 
    
          { 
           String tempMobileNumber = (String)st.nextElement(); 
    
           if(tempMobileNumber.length()>0 && message.trim().length()>0) 
    
           { 
            sendSMS(tempMobileNumber, message); 
           } 
    
           else 
    
           { 
            Toast.makeText(getBaseContext(), 
    
              "Please enter both phone number and message.", 
    
              Toast.LENGTH_SHORT).show(); 
           } 
          } 
    
         } 
        }); 
    
    } 
    
    
    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: 
    
    
            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)); 
    
    
    
        SmsManager sms = SmsManager.getDefault(); 
    
        sms.sendTextMessage(phoneNumber, null, message, sentPI, deliveredPI);  
    } 
    
    } 
    

要发送SMS消息到同一机器上运行的另一个仿真器实例,启动SMS应用。指定目标模拟器实例的控制台端口号(例如:5555)作为SMS地址。

请注意,这个答案是基于:Linuxtopia指南。

您可以创建仿真器ID或编号的数组,然后将sendTextMessage插入到执行该循环的许多元素到数组中。或者您可以有UI,允许用户将电话号码或模拟器号码插入到列表中,并按照上述相同的步骤进行操作! 注意sendTextMessage单曲第一说法是“电话号码”您要发送短信 只需用您的要求为每一个重复循环替换谁