[英]Xamarin Forms Android Pie Not Getting Current Location in App Background Sleep Mode
我想在應用程序進入睡眠模式或背景時獲取當前位置。目前我在 App OnSleep()
使用 > Plugin.Geolocator.CrossGeolocator.Current DLL
,但它可以工作到 Android 8.1
但Android Pie
沒有更新當前位置值。 . 如何在Android Pie中實現?
示例代碼:
protected override async void OnSleep()
{
var minute = TimeSpan.FromSeconds(30);
Device.StartTimer(minute, () =>
{
await Task.Run(async () =>
{
TimeSpan t = TimeSpan.FromSeconds(10);
var locator = Plugin.Geolocator.CrossGeolocator.Current;
locator.DesiredAccuracy = 5;
var position = await locator.GetPositionAsync(timeout: t);
//API Method
});
});
}
您不能只是啟動一個線程並期望它在操作系統將應用程序置於后台或省電模式后繼續運行。
您必須至少設置一個 Android Service
(並將其置於前台)來處理您的位置更新。
https://developer.android.com/about/versions/oreo/background
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.