当条件v
高于30时,它会继续在应用中发送短信。
但是,我希望它只发送1条短信,然后在v
返回到29,然后是30时重新发送短信。
if(v >= 30)
{
do
{
var SmsMessenger = (CrossMessaging.Current.SmsMessenger);
if(SmsMessenger.CanSendSmsInBackground)
{
SmsMessenger.SendSmsInBackground("+000000", "Test")
}
}
while(((currentLocation.Speed * 3600) / 1000) != 20);
}
答案 0 :(得分:2)
您可以使用标记来拨打该邮件一次。
bool IsSmsSended = false;
if(v >= 30 && !IsSmsSended) {
do {
var SmsMessenger= (CrossMessaging.Current.SmsMessenger);
if(SmsMessenger.CanSendSmsInBackground){
SmsMessenger.SendSmsInBackground("+000000","Test")
}
}
while(((currentLocation.Speed * 3600) /1000) !=20);
IsSmsSended = true;
}else if(v < 30){
IsSmsSended = false;
}
如果值低于30,则必须重置IsSmsSended。查看else if。
P.S。:让IsSmsSended全球化。