Xamarin Android - 关于相关问题

时间:2017-07-18 15:38:48

标签: c# android exception xamarin

我创建了位置跟踪应用程序。今天我还添加了Geofencing功能。我是一个简单的单例类,当地理位置围绕着cooridnates时会引发事件。

当我手动提升事件时,它按预期工作。但是当我在达到坐标时设置了释放模式时,它会停止一个应用程序。我的错误日志里面写着每一个都是: 的 java.lang.reflect.InvocationTargetException

我正在使用MVVMCross libary。我的viewmodels附加到Geofencing服务类的女巫回调。当用户到达cooridnate时,应该调用回调。正如我在调试中所说,它正在发挥作用。

以下代码示例:

public class GeofenceService : IGeofenceService
    {
      //...
      public event EventHandler<GeofenceStatusChangedEventArgs> StatusChanged;
      //..
    }


 public abstract class GeofenceViewModel : BaseViewModel
    {
       protected IGeofenceService GeofenceService { get; }

       protected virtual void StartMonitoring(AddressModel address, MonitoringRadius radius)
        {
            MonitoredAddress = address;
            GeofenceService.StartMonitoring(new Location(address.Id, address.Latitude, address.Longitude), radius, GeofenceExpectation);
            GeofenceService.Subscribe(this, OnStatusChanged);
        }

 protected void OnStatusChanged(object sender, GeofenceStatusChangedEventArgs e)
        {
           //...
        }
    }

我是否有办法获得真正的例外?

1 个答案:

答案 0 :(得分:1)

当然,在:应用程序类中,init添加Exeptions委托

element.addEventListener("click", foo);

// The event is still passed to the function, but now, you don't
// have an explicit way to access it:
function foo(){

}

但是根据我的经验,我建议你比较调试和发布配置(选项)可能有一些设置,这些设置不匹配并导致崩溃。