2017-03-11 13 views
-1

私は電話番号のarraylistを持っています。私がメッセージを送るとき、それはリストの最後の番号に送るだけです。ここに私のコードです複数の電話番号に1つのSMSを送信

パブリック空白onActivityResult(int requestCode、int resultCode、インテントデータ){ super.onActivityResult(requestCode、resultCode、data);

if(requestCode == CONTACT_PICK_REQUEST && resultCode == RESULT_OK){ 

     ArrayList<Contact> selectedContacts = data.getParcelableArrayListExtra("SelectedContacts"); 

     String display=""; 
     for(int i=0;i<selectedContacts.size();i++){ 

      display += (i+1)+" "+selectedContacts.get(i).toString()+"\n"; 
      theNumber=selectedContacts.get(i).phone; 

     } 
     contactsDisplay.setText("Selected Contacts : \n\n"+display); 

    } 

} 


protected void sendMsg(String theNumber, String myMsg) { 
    String SENT = "Message Sent"; 
    String DELIVERED = "Message Delivered"; 

    PendingIntent sentPI = PendingIntent.getBroadcast(this, 0, new Intent(SENT), 0); 
    PendingIntent deliveredPI = PendingIntent.getBroadcast(this, 0, new Intent(DELIVERED), 0); 

    registerReceiver(new BroadcastReceiver() { 
     public void onReceive(Context arg0, Intent arg1) { 
      switch (getResultCode()) { 
       case Activity.RESULT_OK: 

         Toast.makeText(MainActivity.this, "SMS SENT", Toast.LENGTH_LONG).show(); 
        break; 
       case SmsManager.RESULT_ERROR_GENERIC_FAILURE: 
        Toast.makeText(MainActivity.this, "Generic Failure", Toast.LENGTH_LONG).show(); 
        break; 
       case SmsManager.RESULT_ERROR_NO_SERVICE: 
        Toast.makeText(MainActivity.this, "No Service", Toast.LENGTH_LONG).show(); 
        break; 
      } 
     } 
    }, new IntentFilter(SENT)); 

    registerReceiver(new BroadcastReceiver() { 

     public void onReceive(Context arg0, Intent arg1) { 
      switch (getResultCode()) { 
       case Activity.RESULT_OK: 
        Toast.makeText(getBaseContext(), "SMS delivered", Toast.LENGTH_LONG).show(); 
        break; 
       case Activity.RESULT_CANCELED: 
        Toast.makeText(getBaseContext(), "SMS not delivered", Toast.LENGTH_LONG).show(); 
        break; 
      } 

     } 
    }, new IntentFilter(DELIVERED)); 

    SmsManager sms = SmsManager.getDefault(); 
    sms.sendTextMessage(theNumber, null, myMsg, sentPI, deliveredPI); 

} 

}

+0

そのコードはどこでも 'sendMsg()'を呼び出すわけではありません。 –

答えて

0

あなたのループは、単にtheNumber変数にリストから番号を置き換えています。ループが終了すると

theNumber=selectedContacts.get(i).phone; 

は、それがリストから最後の番号で更新された変数theNumber見つけました。

+0

すみません。私は本当にここで失われています。私はアンドロイドプログラミングに新しいです。私に何ができる? – KourtK

+0

私はあなたがコードを書くのが初めてだと思う。 'sendMsg(theNumber、);数値が 'Number'変数に代入された後、ループ内で呼び出します。 – vijayraj34

関連する問題