gpt4 book ai didi

c# - 如何向用户请求使用 Windows 应用商店应用中的位置的权限?

转载 作者:行者123 更新时间:2023-12-02 21:44:07 25 4
gpt4 key购买 nike

我正在尝试使用 Windows 应用商店应用程序中的定位功能。我已将 Bing map 控件放入 XAML 页面中。

在后面的代码中,我尝试使用以下代码获取当前位置:

private async Task SetMyLocation()
{
var position = await this.GetCurrentPosition();
if (position != null)
this.DataContext = position;

this.myLocation = new Location(position.Latitude, position.Longitude);
this.myMap.Center = this.myLocation;
}

并且。 。 .

private async Task<Position> GetCurrentPosition()
{
try
{
Geolocator geolocator = new Geolocator();
geolocator.DesiredAccuracy = PositionAccuracy.High;
geolocator.MovementThreshold = 0;
Geoposition location = await geolocator.GetGeopositionAsync();

var postion = new Position
{
Latitude = location.Coordinate.Latitude,
Longitude = location.Coordinate.Longitude
};

return postion;
}
catch (Exception ex)
{
. . .
}

当用户单击应用程序中的按钮时,就会执行上面的所有代码。然后,当执行 GetCurrentPosition() 方法并尝试执行以下代码行时:

Geoposition location = await geolocator.GetGeopositionAsync();

我收到一条弹出消息,询问用户是否允许使用位置功能。<​​/p>

所以,问题是:是否可以在一开始就问同样的事情?我的意思是,应用程序何时启动?

预先感谢您的帮助

问候!

最佳答案

您所看到的弹出窗口无法以编程方式调用。当调用 GetGeopositionAsync 时,它会自动显示。如果应用程序已定义网络摄像头功能,则可以看到相同的对话框。仅当调用照片捕获方法时才会出现类似的对话框,您无法提前获得特定权限的"is"或“否”。

您可以做的是,在特定页面的 OnNavigateTo(...) 中调用 SetMyLocation() 方法,而不是在按钮单击事件中。

此外,您可以通过代码设置权限。这完全取决于用户。用户可以通过设置 super 按钮 -> 权限选项卡来允许/阻止权限。

关于c# - 如何向用户请求使用 Windows 应用商店应用中的位置的权限?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19828014/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com