Xamarin:发生地理定位错误:未经授权

2024-01-30

我正在尝试获取当前位置,并在 UWP 和 iOS 上工作,但在 Andriod 上运行时,它显示未处理的异常。

Plugin.Geolocator.Abstractions.GeolocationException:发生地理定位错误:未经授权 https://i.stack.imgur.com/xtkdc.png

我已经向我的 Android 清单添加了权限,如下所示:

AndroidManifest.xml

<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION" />

<application android:label="Location1.Android">
<meta-data android:name="com.google.android.maps.v2.API_KEY"
       android:value="**googleAPI_KEY**" />
 <meta-data
            android:name="com.google.android.gms.version"
            android:value="@integer/google_play_services_version" />

AssemblyInfo.cs

using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using Android.App;

[assembly: AssemblyTitle("Location1.Android")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("Location1.Android")]
[assembly: AssemblyCopyright("Copyright ©  2014")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
[assembly: ComVisible(false)]

[assembly: UsesFeature("android.hardware.location", Required = false)]
[assembly: UsesFeature("android.hardware.location.gps", Required = false)]
[assembly: UsesFeature("android.hardware.location.network", Required = 
 false)]


[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]


[assembly: UsesPermission(Android.Manifest.Permission.Internet)]
 [assembly:UsesPermission(Android.Manifest.Permission.WriteExternalStorage)]

XAML

enter code here<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
         xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
         xmlns:local="clr-namespace:Location1"
    xmlns:maps="clr- 
      namespace:Xamarin.Forms.Maps;assembly=Xamarin.Forms.Maps"
         x:Class="Location1.MainPage">
<StackLayout Orientation="Vertical">
    <Button Text="Get GPS Position" Clicked="Button_Clicked" />
    <Label Text="latitude" TextColor="Gray" FontSize="30" />
    <Label x:Name="LatitudeLabel" TextColor="Gray" FontSize="50"></Label>
    <Label Text="Logitude" TextColor="Gray" FontSize="30" />
    <Label x:Name="LongitudeLabel" TextColor="Yellow" FontSize="50"></Label>
</StackLayout>

XAML代码

using Plugin.Geolocator;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Xamarin.Forms;
using Xamarin.Forms.Maps;
using Plugin.Geolocator;


namespace Location1
 {
   public partial class MainPage : ContentPage
    {
    public MainPage()
    {

        InitializeComponent();
    }




    private async void Button_Clicked(object sender, EventArgs e)
    {
        await GetLocation();

    }

    private async Task GetLocation()
    {
        var locator = CrossGeolocator.Current;
        locator.DesiredAccuracy = 50;


        var position = await  locator.GetPositionAsync(TimeSpan.FromSeconds(10000));

        LongitudeLabel.Text = position.Longitude.ToString();
        LatitudeLabel.Text = position.Latitude.ToString();
    }
   }
  }

您可能缺少以下代码OnCreate主要活动的方法。

Plugin.CurrentActivity.CrossCurrentActivity.Current.Init(this,bundle);

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Xamarin:发生地理定位错误:未经授权 的相关文章

随机推荐

  • 如何将图像从客户端发送到服务器节点 js 反应

    我正在尝试创建上传个人资料图像方法 帮助用户在网站上上传他们的个人资料图片 但我遇到了问题 我不知道如何将图像从客户端发送到服务器并使这些图像存储在 cloudinary 或 firebase 上 我的路线如下所示 ProfileAPI j
  • 在 Cocoa Objective-C 中创建模态对话框或窗口?

    我需要创建一个模式对话框 该对话框从 nib 文件加载 并应在主窗口中单击按钮时显示 我可以在 nib 文件中创建自定义窗口 并在单击按钮时加载自定义对话框 但这不是模式对话框 我可以切换回主窗口 MyWindowController is
  • “.tt”扩展名是什么?

    我和一群人一起工作something js tt使用 Knockout 和一堆的 JavaScript 文件something else ttHTML 文件 基础设施主要是带有 Perl 服务 API 的 C 后端 我们使用这些 tt文件来
  • 优化配分函数

    这是Python中的代码 function for pentagonal numbers def pent n return int 0 5 n 3 n 1 function for generalized pentagonal numbe
  • OS X 应用程序沙箱和任意文件访问 - 更新为基于文档?

    我的 OS X 应用程序 当前未沙箱 访问用户设置的目录中包含的文件 选择带有NSOpenPanel并且在整个执行过程中都会保留对该路径的引用 文件列表是通过生成的NSDirectoryEnumerator然后我使用读取和写入这些文件AVA
  • 除了越狱之外,iDevice 上的 UDID 会改变吗?

    我有一位 Beta 测试员 在最后一个 Beta 测试周期后 4 个月 我向他发送了新版本的应用程序的第一个 Beta 测试 当她说无法加载时 我们检查了她的 UDID 它与我们 4 个月前使用的不同 所以我的配置显然不起作用 她说这和以前
  • 构建静态库

    我正在尝试建立一个 a我的 iPhone 项目的静态库 所以 我创建了一个新项目 并使用了模板Cocoa Touch Static Library 然后 在XCode 4 0 我添加我的 m and h files 我已经成功构建了该项目
  • CATransform3D 可以用来获取 Face Mesh 中的眼睛尺寸吗?

    我正在尝试使用 ARKit 的 3D Face Mesh 获取眼睛的宽度和 2 只眼睛的距离 我用过CA变换3D of ARAnchor struct CATransform3D CGFloat m11 m12 m13 m14 CGFloa
  • 在 Angular 中动态创建元素

    我的 JavaScript 经验很少 我需要在单击某个项目时添加一个菜单 我们被要求从头开始构建它 而不使用任何库 如引导组件或 JQuery 我们正在使用 Angularjs 在角度中 我想知道创建新元素的正确方法 类似我们没有的东西do
  • 如何在水晶报表中显示打印对话框?

    我想打印我的Crystal report直接到打印机 目前我正在出口到PDF 但我的客户希望将其直接发送到打印机 我怎样才能显示Print Dialog单击 打印 按钮可将报告直接打印到打印机 我想提一下 我的项目使用 C 和 asp ne
  • 在 .net core 3.1 控制台应用程序中将 nlog 与 ApplicationInsightsTelemetryWorkerService 结合使用

    我正在使用应用程序见解和 nlog 配置 net core 3 控制台应用程序 我的代码配置如下 程序 cs ConfigureLogging hostingContext logging gt logging ClearProviders
  • 由于某些错误,无法使用“git pull”

    git pull fatal unable to access https github com neilyolol aws python git error 0D0C50A1 asn1 encoding routines ASN1 ite
  • 如何设置 GMock EXPECT_CALL 来为模拟函数调用两个不同的函数

    当 测试套件 中的测试函数中调用模拟函数时 如何调用两个不同的函数 细节 模拟函数在测试函数中被调用两次 当第一次调用它时 它应该调用一个函数 测试套件中的本地函数 第二次调用时 它应该调用另一个函数 测试套件中的另一个本地函数 那么 如何
  • Spring Reactive WebFlux - 如何自定义BadRequest错误消息

    在我的请求处理程序中 如果传入accountId无法转换为有效的ObjectId我想捕获错误并发回有意义的消息 但是 这样做会导致返回类型不兼容 并且我无法弄清楚如何实现这个非常简单的用例 My code GetMapping accoun
  • C 中动态数组的大小不会改变

    我正在得到realloc invalid next size对于一个程序 所以我只是编写了这个代码来了解发生了什么 include
  • 在 docker-compose 文件中启用“progress plain”

    当我使用运行构建时docker compose build progress plain 它在构建过程中显示比默认 BuildKit 输出更有用的信息 有没有办法将简单的进度选项嵌入到 docker compose yml 文件本身中 这样
  • 在 CSV 中搜索值 [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我有 csv 文件和一个值 我想搜索
  • Python - Pandas 每组随机采样

    我有一个与此非常相似的数据帧 但有数千个值 import numpy as np import pandas as pd Setup fake data np random seed 3 1415 df pd DataFrame Class
  • 纯函数是幂等的吗?

    每个纯函数都是幂等的吗 如果我没有在官方看到这个声明我不会问这么疯狂的问题Angular js 教程 https docs angularjs org guide filter creating custom filters 过滤函数应该是
  • Xamarin:发生地理定位错误:未经授权

    我正在尝试获取当前位置 并在 UWP 和 iOS 上工作 但在 Andriod 上运行时 它显示未处理的异常 Plugin Geolocator Abstractions GeolocationException 发生地理定位错误 未经授权