GeoCoordinateWatcher.TryStart(Boolean, TimeSpan) Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Инициирует получение данных расположения от текущего поставщика расположения. Этот метод завершает работу синхронно.
public:
virtual bool TryStart(bool suppressPermissionPrompt, TimeSpan timeout);
public bool TryStart (bool suppressPermissionPrompt, TimeSpan timeout);
abstract member TryStart : bool * TimeSpan -> bool
override this.TryStart : bool * TimeSpan -> bool
Public Function TryStart (suppressPermissionPrompt As Boolean, timeout As TimeSpan) As Boolean
Параметры
- suppressPermissionPrompt
- Boolean
Значение true
для подавления диалогового окна запроса разрешений; значение false
для отображения диалогового окна запроса разрешений.
- timeout
- TimeSpan
Время ожидания запуска поставщика расположения в миллисекундах.
Возвращаемое значение
Значение true
, если получение данных началось в течение периода времени, заданного параметром timeout
; в противном случае — значение false
.
Реализации
Примеры
В следующем примере показано, как вызвать TryStart.
using System;
using System.Device.Location;
namespace GetLocationProperty
{
class Program
{
static void Main(string[] args)
{
GetLocationProperty();
}
static void GetLocationProperty()
{
GeoCoordinateWatcher watcher = new GeoCoordinateWatcher();
// Do not suppress prompt, and wait 1000 milliseconds to start.
watcher.TryStart(false, TimeSpan.FromMilliseconds(1000));
GeoCoordinate coord = watcher.Position.Location;
if (coord.IsUnknown != true)
{
Console.WriteLine("Lat: {0}, Long: {1}",
coord.Latitude,
coord.Longitude);
}
else
{
Console.WriteLine("Unknown latitude and longitude.");
}
}
}
}
Imports System.Device.Location
Module GetLocationProperty
Public Sub GetLocationProperty()
Dim watcher As New System.Device.Location.GeoCoordinateWatcher()
watcher.TryStart(False, TimeSpan.FromMilliseconds(1000))
Dim coord As GeoCoordinate = watcher.Position.Location
If coord.IsUnknown <> True Then
Console.WriteLine("Lat: {0}, Long: {1}", coord.Latitude, coord.Longitude)
Else
Console.WriteLine("Unknown latitude and longitude.")
End If
End Sub
Public Sub Main()
GetLocationProperty()
Console.ReadLine()
End Sub
End Module
Комментарии
Этот метод блокирует выполнение вызывающего потока в течение периода времени, заданного параметром timeout
. Соблюдайте осторожность при вызове TryStart из потока пользовательского интерфейса приложения.