如何解决在模拟器Android上运行应用程序的问题

时间:2020-05-07 12:04:03

标签: c# android xamarin

嗨,我有一个简单的android系统,可在地图上显示用户当前位置。当我尝试在android 9 api28上运行时,出现错误java.lang.SecurityException:“ gps”位置提供程序需要ACCESS_COARSE_LOCATION或ACCESS_FINE_LOCATION权限。我将模拟器与android 8.1 oreo api 27一起使用时,一切正常。此外,当我将此项目导出到apk文件时,我尝试使用android 10在智能手机上运行时也遇到了同样的问题。

这是MainActivity文件

protected override void OnCreate(Bundle savedInstanceState)
    {
        TabLayoutResource = Resource.Layout.Tabbar;
        ToolbarResource = Resource.Layout.Toolbar;

        base.OnCreate(savedInstanceState);
        Xamarin.FormsMaps.Init(this, savedInstanceState);
        Xamarin.Essentials.Platform.Init(this, savedInstanceState);
        global::Xamarin.Forms.Forms.Init(this, savedInstanceState);
        LoadApplication(new App());
    }


    public override void OnRequestPermissionsResult(int requestCode, string[] permissions, [GeneratedEnum] Android.Content.PM.Permission[] grantResults)
    {


        Xamarin.Essentials.Platform.OnRequestPermissionsResult(requestCode, permissions, grantResults);

        base.OnRequestPermissionsResult(requestCode, permissions, grantResults);
    }
}

}

在我的AndroidManifest文件中,我有此功能,但它不起作用。

<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

0 个答案:

没有答案