我正在嘗試來自 Xamarin 的這段代碼。后臺任務的 Ios 檔案:https : //docs.microsoft.com/en-us/xamarin/ios/app-fundamentals/backgrounding/ios-backgrounding-techniques/ios-backgrounding-with-tasks。它說,該變數taskId在6號線有CS0841: Cannot use local variable 'taskId' before it is declared。我應該如何分配taskId?另外,你如何宣告myFlag?我找不到有關如何使用此變數的任何描述。
Task.Factory.StartNew( () => {
//expirationHandler only called if background time allowed exceeded
var taskId = UIApplication.SharedApplication.BeginBackgroundTask(() => {
Console.WriteLine("Exhausted time");
UIApplication.SharedApplication.EndBackgroundTask(taskId);
});
while(myFlag == true)
{
Console.WriteLine(UIApplication.SharedApplication.BackgroundTimeRemaining);
myFlag = SomeCalculationNeedsMoreTime();
}
//Only called if loop terminated due to myFlag and not the expiration of time
UIApplication.SharedApplication.EndBackgroundTask(taskId);
});
uj5u.com熱心網友回復:
這是正確的鏈接:iOS Backgrounding with Tasks。
我應該如何分配taskId?
正如鏈接中提到的,taskId是一個從注冊程序回傳的唯一識別符號,我們只需要在呼叫時傳遞它EndBackgroundTask。
nint taskID = UIApplication.SharedApplication.BeginBackgroundTask( () => {});
UIApplication.SharedApplication.EndBackgroundTask(taskId);
你如何宣告myFlag?
該變數僅表示結束后臺任務的標志,只需將其設定為true您不想停止任務即可。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/384139.html
標籤:ios 沙马林 xamarin.forms xamarin.ios
