私は最近Xamarin.formsで6.0にsdkレベルを更新しました。 Xamlを使用してページにマップを配置しました。マップを表示するには、6.0に更新された権限が必要です。今私の問題は、アプリがそれを表示しようとする前に地図を表示する許可を要求する方法を理解できないことです。その結果、私は処理されない例外が発生します。Xamlで設定したマップを表示する前に、場所の許可をリクエストする方法。 Xamarin.Forms
public MapPage()
{
Init();
InitializeComponent();
azureService = AzureService.defaultManager;
}
private async Task Init()
{
await RequestLocationPermission();
}
protected async override void OnAppearing()
{
base.OnAppearing();
MyMap.MoveToRegion(
MapSpan.FromCenterAndRadius(
new Position(0, 0),
Distance.FromMiles(10.0)));
}
private async Task RequestLocationPermission()
{
try
{
var status = await CrossPermissions.Current.CheckPermissionStatusAsync(Permission.Location);
if (status != PermissionStatus.Granted)
{
if (await CrossPermissions.Current.ShouldShowRequestPermissionRationaleAsync(Permission.Location))
{
await DisplayAlert("Need location", "Gunna need that location", "OK");
}
var results = await CrossPermissions.Current.RequestPermissionsAsync(new[] { Permission.Location });
status = results[Permission.Location];
}
if (status == PermissionStatus.Granted)
{
}
else if (status != PermissionStatus.Unknown)
{
await DisplayAlert("Location Denied", "Can not continue, try again.", "OK");
}
}
catch (Exception ex)
{
}
}
マップがXamlに設定されている場合、どのように表示する前に許可を要求できますか?
ありがとうございました。おそらく、C#で地図を作成する必要があります。そうでなければ、私はApp.cs.に許可を求めなければならないでしょう。地図ページは、メインページであるタブ付きページにあります。許可が拒否された場合、私は何かに渡すことができないようです。 – xerotolerant
ねえ。ついにこのソリューションを試してみると、うまく動作しません。権限プラグインが機能していません。私はそれについて[ここ](http://stackoverflow.com/questions/41473975/xamarin-forms-android-permission-prompt-not-displaying)に関する質問を投稿できますか? – xerotolerant
@xerotolerant提案した解決策で問題を解決できなかった場合は、これが受け入れられる回答ではありません。 – Demitrian