2011-02-04 48 views
0

如問的問題我使用下面的代碼我不知道爲什麼這兩次安卓發送相同的消息兩次

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); 
     } 
    }); 

這裏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

你把它放在哪裏?它在你的onCreate? – xil3 2011-02-04 11:31:56

+0

都能跟得上按鈕 – ingsaurabh 2011-02-04 11:33:33

回答

0

我認爲處理程序被叫兩次。所以你必須弄清楚爲什麼?假設你使用onKeyListener,必須區分它是onKeyUp還是onKeyDown。既然你使用的是onClick,我不知道它爲什麼會被調用兩次!

0

我有一個HTC紋身電話相同的問題。

使用下面的代碼奇怪地解決了這個問題!

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

注意使用sendMultipartTextMessage。它也適用於小文本消息!