2017-04-30 5 views
0

Wenn die Bedingung v höher als 30 ist, senden Sie weiterhin SMS in App. Allerdings möchte ich es nur 1 SMS senden, dann SMS erneut senden, wenn v-29 zurückgeht, dann 30.Nur Methode aufrufen, wenn die Bedingung 30 oder höher ist

if(v >= 30) 
{ 
    do 
    { 
     var SmsMessenger = (CrossMessaging.Current.SmsMessenger); 

     if(SmsMessenger.CanSendSmsInBackground) 
     { 
      SmsMessenger.SendSmsInBackground("+000000", "Test") 
     } 
    } 
    while(((currentLocation.Speed * 3600)/1000) != 20); 
} 

Antwort

2

Sie ein Flag verwenden können, sobald die Nachricht zu nennen.

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

Sie müssen IsSmsSended zurücksetzen, wenn der Wert unter 30 liegt. Schauen Sie sich die else if an.

S.S .: Make IsSmsSended global.

Verwandte Themen