2017-07-18 10 views
0

私は位置追跡アプリケーションを作成しました。今日はジオフェンシング機能も追加しました。私は単純なシングルトンクラスで、地理位置が周りにあるときにイベントを発生させます。Xamarin Android - リリース時に

手動でイベントを発生させると、期待どおりに動作しています。しかし、座標に到達したときにリリースモードを設定すると、アプリケーションが停止します。私は内部のエラーログを持っているとeverytingが書かれている:私はMVVMCrossのlibaryを使用しています にjava.lang.reflect.InvocationTargetException

。私のビューモデルはジオフェンシングサービスクラスの魔法のコールバックにアタッチされます。ユーザーが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

確かに、あなたのに:アプリケーションクラスが初期化Exeptionsデリゲートを追加

AndroidEnvironment.UnhandledExceptionRaiser += (object sender, RaiseThrowableEventArgs e) => { 
    //Save exeption to file (e.Exception.ToString()) 
}; 

しかし、私の経験から、私はデバッグを比較して、いくつかの設定があるかもしれない設定(オプション)を解放するためにあなたをアドバイスします、それは一致しておらず、クラッシュを引き起こします。

+0

コードのこの行は、私の時間の多くを保存しました。どうもありがとう !! – miechooy

関連する問題