2017-01-04 15 views
1

私はpermission pluginをJames Montemagnoが使用しています。Xamarin.formsアンドロイドの許可のプロンプトが表示されない

私は基本的にこの例をコピーしましたが、要求を行う行の後ろに権限が不明です。ダイアログは表示されません。

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) 
      { 
       //var results = await CrossGeolocator.Current.GetPositionAsync(10000); 
       //LabelGeolocation.Text = "Lat: " + results.Latitude + " Long: " + results.Longitude; 
      } 
      else if (status != PermissionStatus.Unknown) 
      { 
       await DisplayAlert("Location Denied", "Can not continue, try again.", "OK"); 
      } 
      Debug.WriteLine("Location permission: {0}", status); 

私はアンドロイドマニフェストにパーミッションを持っています。この問題は、私もそれがマップとは何の関係もありませんので、この質問は異なっている私のMainActivity

public override void OnRequestPermissionsResult(int requestCode, string[] permissions, Permission[] grantResults) 
     { 
      PermissionsImplementation.Current.OnRequestPermissionsResult(requestCode, permissions, grantResults); 
     } 

にこれを追加私は6.0+

に私のターゲットプラットフォームを更新一度示し始め。プロンプトが単にアプリケーション内に表示されないので、私はリアルタイムの許可を使用することはできません。

+0

[Xamlで設定したマップを表示する前に[場所の許可を要求する方法]の複製があります。 Xamarin.Forms](http://stackoverflow.com/questions/41325729/how-to-request-location-permission-before-showing-map-set-up-in-xaml-xamarin-fo) – Demitrian

+0

この質問はありませんプラグインを使用してパーミッションを要求することがなぜ機能していないのか尋ねているので、重複しています。マップのxamlに関する記述はありません。私がそれを求めているかどうかにかかわらず、Location権限の要求は完全に失敗しています。 – xerotolerant

答えて

2

プラグインとともにMainApplication.csがどのようにインストールされなかったか。それは正しいディレクトリに置かれましたが、手動でプロジェクトに追加する必要がありました。それがなぜ起こったのかは分かりませんが、あなたはそこに行きます。

0

私の場合、MainApplication.csはAndroidプロジェクトに追加されていません。私が使用したより良い方法は、CurrentActivity Pluginとそれに依存するNUgetsのすべてをアンインストールすることです。もう一度CurrentActivity Pluginと他のすべてのプラグインをインストールします。今度はMainApplication.csはAndroidプロジェクトのルートディレクトリにあります。