如有问题我正在使用以下代码我不知道为什么它发送短信两次
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 :(得分:0)
我认为处理程序被调用了两次。所以你必须找出原因?假设您正在使用onKeyListener,则必须区分它是onKeyUp还是onKeyDown。由于您使用的是onClick,我不确定它为什么会被调用两次!
答案 1 :(得分: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
。它也适用于小文本消息!