XamarinAndroid&;AIDL:Java.Lang.IllegalStateException:&x27;Bundle的坏幻数
我正在使用Xamarin Android连接Android服务。在自动生成.aidl文件的存根并运行项目后,我遇到了以下错误 “Java.Lang.IllegalStateException:'捆绑包的无效幻数” 我使用的是一个包含两个浮点值的可分配类XamarinAndroid&;AIDL:Java.Lang.IllegalStateException:&x27;Bundle的坏幻数,android,xamarin,aidl,Android,Xamarin,Aidl,我正在使用Xamarin Android连接Android服务。在自动生成.aidl文件的存根并运行项目后,我遇到了以下错误 “Java.Lang.IllegalStateException:'捆绑包的无效幻数” 我使用的是一个包含两个浮点值的可分配类 public class TLGeoPoint : Java.Lang.Object, IParcelable { public float lat { get; set; } public float lng { get; s
public class TLGeoPoint : Java.Lang.Object, IParcelable
{
public float lat { get; set; }
public float lng { get; set; }
public TLGeoPoint()
{
}
public TLGeoPoint(Parcel parcel)
{
ReadFromParcel(parcel);
}
[ExportField("CREATOR")] // Need a reference to Mono.Android.Export
public static TLGeoPointCreator InitializeCreator()
{
return new TLGeoPointCreator();
}
public int DescribeContents()
{
return 0;
}
public void WriteToParcel(Parcel dest, [GeneratedEnum] ParcelableWriteFlags flags)
{
dest.WriteFloat(lat);
dest.WriteFloat(lng);
}
public void ReadFromParcel(Parcel parcel)
{
lat = parcel.ReadFloat();
lng = parcel.ReadFloat();
}
}
public class TLGeoPointCreator : Java.Lang.Object, IParcelableCreator
{
public Java.Lang.Object CreateFromParcel(Parcel source)
{
TLGeoPoint objGeo = new TLGeoPoint();
objGeo.lat = source.ReadFloat();
objGeo.lng = source.ReadFloat();
return objGeo;
}
public Java.Lang.Object[] NewArray(int size)
{
return new Java.Lang.Object[size];
}
}
我想知道Xamarin AIDL代码生成中是否存在导致Bag Magic Number异常的bug,或者是我缺少添加的东西
请注意,该服务接受回调函数并通过该回调发送数据。我在调用回调之前收到此错误 似乎Xamarin AIDL生成器中存在错误 同时,在Xamarin方面的错误解决之前,您有几个选择
似乎Xamarin AIDL生成器中存在错误 同时,在Xamarin方面的错误解决之前,您有几个选择
我猜这是在几年前的另一篇Stackoverflow文章中报道的。我不认为微软已经着手解决这个问题。我想这是在几年前的另一篇Stackoverflow文章中报道的。我认为微软并没有致力于解决这个问题。