[英]when my xamarin form app run, it's has stopped?
我为 Android 以 xamarin 形式创建了一个空白应用程序。 当我在模拟器中运行空白应用程序时,它可以正常工作,但是当将 Xamarin.Form.GoogleMaps 添加到我的页面并在模拟器中运行时显示错误
error message = "应用程序已停止"
我做了以下添加 Xamarin.Form.GoogleMaps。
1- 从 Nuget 下载最新版本 Xamarin.Form.GoogleMaps。
2- Add <meta-data android:name="com.google.android.maps.v2.API_KEY" android:value="my api key" />
to AndroidManifest.xml
3-添加我需要的所有权限列表<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<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_MOCK_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
4- 添加xmlns:maps="clr-namespace:Xamarin.Forms.GoogleMaps;assembly=Xamarin.Forms.GoogleMaps"
到我的页面。
5-并添加<maps:Map VerticalOptions="Fill" HorizontalOptions="Fill"/>
小伙伴们,怎么解决这个关闭app的问题呢?
您在 Android 项目中缺少插件初始化。
using Xamarin.Forms.GoogleMaps.Android; namespace App.Droid { public class MainActivity: global::Xamarin.Forms.Platform.Android.FormsAppCompatActivity { protected override void OnCreate(Bundle savedInstanceState) { // more stuff here... var platformConfig = new PlatformConfig { BitmapDescriptorFactory = new CachingNativeBitmapDescriptorFactory() }; Xamarin.FormsGoogleMaps.Init(this, savedInstanceState, platformConfig); // initialize for Xamarin.Forms.GoogleMaps } LoadApplication(new App()); } } }
首先可以下载android studio,在模拟器中查看log,看看是什么类型的错误导致app崩溃。
另外,github中已经有样例了这个nuget package,你试过吗?
最后第四步,不仅需要将这些权限添加到AndroidManifest.xml中,还需要用户自己授予定位权限等危险权限。
因此,您可以根据官方文档: https://docs.microsoft.com/en-us/xamarin/android/app-fundamentals/permissions?tabs=windows和https 进行运行时权限检查并请求权限: //docs.microsoft.com/en-us/xamarin/essentials/permissions?tabs=android
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.