Android android.view.WindowManager $ BadTokenException:ウィンドウを追加できません

私はアンドロイドアプリをFacebookにリンクして、Asyncタスクを呼び出してfbユーザーを認証し、次に別のAsyncタスクを呼び出して自分のデータベースにfbアカウントをリンクします。 2番目の非同期タスクから情報を受け取ると、コンテキスト 'this'でプロセスダイアログを表示しています。両方の非同期タスクにもプロセスダイアログがあります。時にはそれはうまく動作しますが、

android.view.WindowManager$BadTokenException: Unable to add window -- token [email protected] is not valid; is your activity running?

2
nl ru de

1 答え

この例外は、アプリケーションがダイアログを開いてバックグラウンドスレッドからユーザーに通知しようとしているときに発生しました。

しかし、Google Playコンソールによると、例外が頻繁に発生し、非常に一貫していたようです。

アクティビティを渡す代わりに、applicationContextを使用する必要があります。 Context appContext = this.getApplicationContext(); 行かなければならず、その代わりに activity へのポインタを使用します。

したがって、 activity または this のポインタを渡す代わりに、 context を渡すようにしてください。

1
追加された