Проблема с геолокацией Xamarin Essentials при запросе других разрешений - PullRequest
1 голос
/ 27 мая 2020

, поэтому я использую геолокацию, чтобы получить местоположение устройства, и он обрабатывает запрос разрешений времени выполнения для себя, что хорошо и отлично работает. Однако теперь я пытаюсь получить разрешение на чтение / запись во внешнее хранилище, и его блокировка запросом разрешения геолокации дает следующую ошибку

W/Activity(21598): Can request only one set of permissions at a time

, не имеет значения, использую ли я api разрешений xamarin Essentials вот так:

 private static async Task<bool> CheckAndRequestStoragePermission()
    {
        PermissionStatus status = await Permissions.CheckStatusAsync<Permissions.StorageWrite>();
        if (status != PermissionStatus.Granted)
        {
            Console.WriteLine("not granted");
            status = await Permissions.RequestAsync<Permissions.StorageWrite>();
        }
        else
        {
            Console.WriteLine("granted");
        }
        return status == PermissionStatus.Granted;
    }

или в основном действии android

 const int RequestPermisionsID = 0;

    readonly string[] RequestPermision =
    {
        Manifest.Permission.WriteExternalStorage
    };
         protected override void OnStart()
    {
        base.OnStart();

        if ((int)Build.VERSION.SdkInt >= 23)
        {
            if (CheckSelfPermission(Manifest.Permission.WriteExternalStorage) != Permission.Granted)
            {
                RequestPermissions(LocationPermissions, RequestLocationId);
            }
            else
            {
                Console.WriteLine("permissions already granted.");
            }
        }
    }    }
            else
            {
                Console.WriteLine("Location permissions already granted.");
            }
        }
    }

Он всегда блокируется запросом разрешения геолокации, так как я могу запросить разрешения одновременно как с использованием геолокации, или есть способ запретить ему запрашивать разрешение, чтобы я мог обрабатывать его одновременно с внешним запросом разрешения на запись

...