GeoCoordinateWatcher.TryStart(Boolean, TimeSpan) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
开始从当前位置提供程序获取数据。 此方法同步返回。
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
超时前等待位置提供程序启动的时间(以毫秒为单位)。
返回
如果在 timeout
指定的时间内开始数据获取,则为 true
;否则为 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 时要小心。