2016-12-09 5 views
-3

これは、複数のデバイスにSMSを送信するためのコードです。しかし、SMSは最初の4回だけ送信されます。 ArrrayListに保存されているすべてのユーザーにSMSを送信したい。複数のデバイスにSMSを送信する

public class SendSMSActivity extends Activity { 

    Button buttonSend; 

    String smsBody = "Message from the API"; 


    @Override 
    public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    buttonSend = (Button) findViewById(R.id.buttonSend); 
    textPhoneNo = (EditText) findViewById(R.id.editTextPhoneNo); 
    textSMS = (EditText) findViewById(R.id.editTextSMS); 

    final ArrayList <String> phone=new ArrayList<String>(); 
    phone.add("9742504034"); 
    phone.add("9535179695"); 
    phone.add("9742504034"); 
    phone.add("7204860021"); 

    buttonSend.setOnClickListener(new OnClickListener() { 

     @Override 
     public void onClick(View v) { 



     try { 

      for(int i = 0; i < phone.size(); i++) 
      { 
      SmsManager smsManager = SmsManager.getDefault(); 

      smsManager.sendTextMessage(String.valueOf(phone), null, smsBody, null, null); 


      Toast.makeText(getApplicationContext(), "SMS Sent!", 
       Toast.LENGTH_LONG).show(); 
      } 



     } catch (Exception e) { 
      Toast.makeText(getApplicationContext(), 
       "SMS faild, please try again later!", 
       Toast.LENGTH_LONG).show(); 
      e.printStackTrace(); 
      } 

     } 
    }); 
    } 
} 
+2

[ 'smsManager.sendTextMessage(String.valueOf(電話)、...)'] ...いくつかのJavaの基礎を学ぶしてください( http://ideone.com/2I7FIu)<=これは配列要素にアクセスする方法ではありません... – Selvin

答えて

0

たぶん、あなたのループのため、以下のようにする必要があります:

SmsManager smsManager = SmsManager.getDefault(); 
for(String number: phone) 
{   
    smsManager.sendTextMessage(number, null, smsBody, null, null); 
    Toast.makeText(getApplicationContext(), "SMS Sent!", Toast.LENGTH_LONG).show(); 
} 
関連する問題