首页 > 解决方案 > Xamarin.Forms:如何请求 ACCESS_BACKGROUND_LOCATION?

问题描述

使用 XF 5.0.0 和 Essentials 1.7.0。针对 Android 11.0,API 30。我已经在请求 ACCESS_FINE_LOCATION,因为我使用的是 Plugin.BLE。

我已将 Microsoft.AppCenter.Analytics 添加到我的 XF 应用程序中,这似乎需要 ACCESS_BACKGROUND_LOCATION 权限(应用程序崩溃和异常告诉我)。

Project Properties / Required Permission 列表中没有 ACCESS_BACKGROUND_LOCATION 项,所以我手动将其添加到 AndroidManifest.xml 中。它编译,但仍然崩溃。

我还读到您不能同时请求 ACCESS_FINE_LOCATION 和 ACCESS_BACKGROUND_LOCATION,必须先授予 _FINE,然后您必须请求 _BACKGROUND。真的吗?

此外,我以编程方式请求 LocationAlways:

var status = await Permissions.RequestAsync<Permissions.LocationAlways>();

因为您似乎无法在清单中执行此操作。

而且我可以以编程方式请求背景位置,但Xamarin.Essentials.Permissions不提供。

所以我难住了!

有谁知道如何在 Xamarin.Forms 应用程序中同时请求 ACCESS_FINE_LOCATION 和 ACCESS_BACKGROUND_LOCATION ?

谢谢!

标签: xamarin.formsandroid-permissions

解决方案


推荐阅读