Po mundohem të bëj një kur ku jap një listë numrash dhe më pas fillon t'i thërrasë një nga një. Pra, rrjedha duhet të jetë diçka e tillë:
for each number in list
ask user if they want to call. If yes:
open dialer
call number
come back to the app
If no:
break the loop
Unë e kam provuar këtë:
public partial class MainPage : ContentPage
{
List<string> numbers = new List<string>();
//Consider the list is already filled with different numbers
public MainPage()
{
InitializeComponent();
}
private async Task Button_ClickedAsync(object sender, EventArgs e)
{
bool answer = false;
foreach(var number in numbers)
{
answer = await DisplayAlert("Question?", $"Call {number}?", "Yes", "No");
if (answer)
{
var phoneDialer = CrossMessaging.Current.PhoneDialer;
phoneDialer.MakePhoneCall(number);
}
else
break;
}
}
}
Unë po përdor Pluginën e mesazheve për të kryer thirrjen. Problemi është se kur klikoj butonin që thërret metodën Button_ClickedAsync
, mund të telefonoj numrin e parë në listën time, pas kësaj kur e mbyll thirrjen dhe kthehem në aplikacion, cikli nuk vazhdon më pas. Pra, duhet të klikoj përsëri butonin dhe cikli fillon nga numri i parë në listë (Siç pritej). Si mund ta bëj që të vazhdojë listën kur të kthehem në aplikacionin tim në mënyrë që të mos më duhet të klikoj butonin çdo herë?
Kam provuar edhe me Intents por marr të njëjtin rezultat:
private async Task Button_ClickedAsync(object sender, EventArgs e)
{
bool answer = false;
foreach(var number in numbers)
{
answer = await DisplayAlert("Question?", $"Call {number}?", "Yes", "No");
if (answer)
{
var uri = Android.Net.Uri.Parse($"tel:{number}");
var intent = new Intent(Intent.ActionDial, uri);
Android.App.Application.Context.StartActivity(intent);
}
else
break;
}
MainPage.xaml.cs
? 05.09.2018