Android toast消息显示为';s闪烁-安卓
如何阻止应用程序多次显示toast消息?无论我何时向一个、两个或更多联系人发送短信,都会多次显示祝酒词。有时,祝酒词在显示“短信已发送”信息时会闪烁2、4、18次。我认为这是短信发送量的两倍。如果我将它发送到一个数字,它将显示2,依此类推Android toast消息显示为';s闪烁-安卓,android,toast,Android,Toast,如何阻止应用程序多次显示toast消息?无论我何时向一个、两个或更多联系人发送短信,都会多次显示祝酒词。有时,祝酒词在显示“短信已发送”信息时会闪烁2、4、18次。我认为这是短信发送量的两倍。如果我将它发送到一个数字,它将显示2,依此类推 try { String message = "firealert"; String additionalMessage = send_input.getText().toStr
try {
String message = "firealert";
String additionalMessage = send_input.getText().toString();
info.open();
ArrayList<String> data = info.getContactNumber();
info.close();
for(String contactNum : data)
{
sendSMS("0".concat(contactNum), message+" "+additionalMessage);
//sendSMS(contactNum, message+" "+additionalMessage);
}
} catch (Exception e) {
Toast.makeText(getApplicationContext(),
"SMS failed, please try again later!",
Toast.LENGTH_LONG).show();
e.printStackTrace();
}
您可以做的是创建一个Toast变量
private Toast t;
if(t!=null)
t.cancel();
Toast.makeText(getBaseContext(), "SMS sent",
Toast.LENGTH_SHORT).show();
或
短信内容是否超过160个字符?您可能会看到Toast(content.length()/160)次吗?
短信可能被分成几个部分。也许我以后会在安卓手机上再试一次。我现在正在使用emulator。我想它会将消息“sms sent”增加一倍。如果我把它发送到1号,它会显示2号,因此我尝试了你的代码,它在我第一次发送消息时起作用。然后,我第二次发送消息时,它会将toast消息加倍。第三,第四等等…我仍然不知道这里发生了什么。我不知道这是否与我在ArrayList中获取电话号码的方式有关,但我想不是,它只向cel号码发送了一次短信。我认为它将短信“已发送”翻了一倍。如果我将它发送到一个数字,它将显示2,依此类推
private Toast t;
if(t!=null)
t.cancel();
Toast.makeText(getBaseContext(), "SMS sent",
Toast.LENGTH_SHORT).show();
if(t==null)
Toast.makeText(getBaseContext(), "SMS sent",
Toast.LENGTH_SHORT).show();