Androidをファックス機として使用できるアプリケーションを作成しようとしています.IEは写真をファックスとして送信するか、ファックスを受信して写真として保存します。これまでのところ、ゼロから始めて、ユーザーの裁量で通話を傍受できるようにしています。プログラムのマニフェストにレシーバーを登録し、状態が変化したときにフラグを立てる Phone_State のフィルターを使用しています (IE 着信呼び出し)。
そのため、BroadcastReceiver で AlertDialog ポップアップを表示して、ユーザーにファックスまたは通話として受け入れるように求めていますが、着信があると AlertDialog は android.view.WindowManager$BadTokenException エラーをスローするようです。私のコードは単純な onReceive(context arg0, intent arg1) であり、arg0 を AlertDialog に渡します...
完全なエラーメッセージは以下です
08-08 00:16:14.315: ERROR/AndroidRuntime(275): java.lang.RuntimeException: Unable to start receiver com.android.fax.IncomingFax: android.view.WindowManager$BadTokenException: Unable to add window -- token null is not for an application
08-08 00:16:14.315: ERROR/AndroidRuntime(275): at android.app.ActivityThread.handleReceiver(ActivityThread.java:2550)
08-08 00:16:14.315: ERROR/AndroidRuntime(275): at android.app.ActivityThread.access$3000(ActivityThread.java:116)
08-08 00:16:14.315: ERROR/AndroidRuntime(275): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1843)
AlertDialogコードで見たものから、それはコンテキストとWindowおよびWindowManagerを渡します.