Я пишу этот код для получения местоположения GPS, я отметил ACCESS_COARSE_LOCATION и ACCESS_FINE_LOCATION на свойствах Android, и я также подтвердил, что он был в AndroidManifest.xml, но приложение завершает работу:
10-08 19: 52: 50.048 I / mono-stdout (2905): В настоящее время нет разрешений на размещение, запрашивающих разрешенийВ настоящее время нет разрешений на местоположение, запрашивающих разрешений
Отказано в доступе к местоположению, невозможно получить асинхронные позиции.10-08 19: 52: 50.103 I / mono-stdout (2905): Отказано в разрешении на местоположение, не удается получить асинхронные позиции.
Если я перехожу к Конфигурация> Приложения> Разрешения и даю разрешение на местоположениеработает правильно, но не запрашивает разрешения во время установки.
Код:
using Plugin.Geolocator;
using Plugin.Geolocator.Abstractions;
using System;
using Xamarin.Forms;
namespace AppName
{
public partial class MainPage : ContentPage
{
public MainPage()
{
InitializeComponent();
}
Position position;
private async void GetPosition(object sender, EventArgs e)
{
try
{
var locator = CrossGeolocator.Current;
locator.DesiredAccuracy = 50;
position = await locator.GetPositionAsync(TimeSpan.FromSeconds(10));
}
catch(Exception)
{
throw;
}
finally {
LongitudeLabel.Text = string.Format("{0:0.0000000}", position.Longitude);
LatitudeLabel.Text = string.Format("{0:0.0000000}", position.Latitude);
}
}
}
}
Кто-нибудь может увидеть, что я делаю неправильно?