バインディング プロジェクトを作成し、onCreate などにすべてを接続しました。未処理の例外を除いて、すべてが機能します。「すべてが機能する」ことについて詳しく説明しましょう。crittercism のライブ統計ページで、実際にアプリの負荷があることを確認できます。また、「LogHandledException」インターフェイスを使用して「ManagedExceptions」を送信することもできます。
ICritterCallback インターフェイスを実装しましたが、「CrashedOnLastLoad」ブール値は常に false です。アプリがクラッシュするのを見ることができるので、これは奇妙なことです。
これらの 3 つの方法を使用して、ログを Crittercism に送信しようとしました。(3つすべてがアプリをクラッシュさせます)
Java 例外
throw new Java.Lang.IllegalArgumentException("This is a test for critter");
バックグラウンド例外
.Click += delegate { ThreadPool.QueueUserWorkItem(o => { throw new Exception("Crashed Background thread."); } ); };
単純な .net 例外
throw new Exception("Crashed UI thread.");
上記のいずれも、次のロード時にクラッシュとして登録されていません...変ですよね?
おそらく、.net ランタイムは未処理の例外をすべて飲み込んでから、dalvic のランタイムで適切に exit を呼び出しています...これは可能ですか..?
今のところハックとして、このブログ投稿に従って Android の例外ハンドラーを実装し、Crittercism.LogHandledException(Throwable.FromException(e.Exception));
両方のイベント内から呼び出します。
それは機能しますが、ハンドルされていない例外に対してCrittercismのハンドルされた例外を使用しています..したがって、実際の「HandledExceptions」を送信したい場合、それらは混乱して失われます。
未処理の例外を Crittercism に送信する方法はありますか??
または、Crittercism に送信する .net から Android のクラッシュをシミュレートする方法はありますか??
どんな助けでも大歓迎です!
乾杯、
サム