2011-02-04 7 views
0

comme demandé en question, je suis en utilisant le code suivant, je ne sais pas pourquoi il envoyer les sms deux foisAndroid envoie le même message deux fois

sendButton.setOnClickListener(new OnClickListener() 
    { 
     @Override 
     public void onClick(View v) 
     { 
      msg = messgeText.getText().toString(); 
      no = phoneNumber.getText().toString(); 
      if(msg.length() > 0 && no.length() > 0) 
       sendSMS(no, msg); 
     } 
    }); 

et ici sendsms

private void sendSMS(String phoneNumber, String message) 
{      
    SmsManager.getDefault().sendTextMessage(phoneNumber, null, message, null, null); 
    Log.d("Insend", "sms sent"); 
    Toast.makeText(SendSMS.this, "SMS Successfully sent.", Toast.LENGTH_SHORT).show(); 
    finish(); 
} 
+0

Où l'avez-vous mis? Est-ce dans votre onCreate? – xil3

+0

Nope au clic du bouton – ingsaurabh

+0

Où avez-vous mis cette méthode onClick ou onTouch méthode ou dans les deux? Effacer d'abord .. –

Répondre

0

Je pense que gestionnaire est se faire appeler deux fois. donc vous devez comprendre pourquoi? supposons que vous utilisez onKeyListener, vous devez différencier si c'est onKeyUp ou onKeyDown. Puisque vous utilisez onClick, je ne sais pas pourquoi il est appelé deux fois!

+0

Salut comme vous pouvez le voir, j'ai mis un journal ce journal est imprimé une seule fois donc il n'est pas appelé encore et encore – ingsaurabh

0

J'ai eu le même problème avec un téléphone HTC Tatoo. En utilisant le code suivant, étrangement résolu le problème!

private void sendSMS(String to, String text) { 
    SmsManager sms = SmsManager.getDefault(); 
    ArrayList<String> messages = sms.divideMessage(text); 
    sms.sendMultipartTextMessage(to, null, messages, null, null); 
} 

Notez l'utilisation de sendMultipartTextMessage. Il fonctionne aussi avec de petits messages texte!

Questions connexes