BroadcastReceiverでAlertDialog
-
26-09-2019 - |
質問
私はIEがファックスとして画像を送信し、ファクス機としてアンドロイドを使用するか、FAXを受信し、画像として保存することができるアプリケーションを作成しようとしています。これまでのところ私は地上から開始してください、私は、ユーザーの裁量で通話を傍受することができ作ってるんです。私は、レシーバは状態が変化したフラグPhone_Stateのフィルター(IE着信コール)と私のプログラムのマニフェストに登録しています。
だから私のBroadcastReceiver I上、ファックスまたはコールとして受け入れるが、AlertDialogのいずれかをユーザに促すAlertDialogポップアップを持ってしようとしているが、それは着信コールがある場合android.view.WindowManager $ BadTokenExceptionエラーを投げているようです。私のコードは、onReceive(コンテキストarg0に、意図ARG1)だけのシンプルで、私はAlertDialog ...
へのarg0を渡します完全なエラーメッセージは、以下である
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コードで何を見ているから、それは文脈だけでなく、ウィンドウとウィンドウマネージャを渡し、私はそれがクラッシュしている理由であると信じて、より良い方法または何か他のものがあり、私が電話を重ねる可能性があります使用する必要がありますスクリーン?
解決
まず、あなたは、Androidから通話中の音声ストリームを取得することはできません。その制限が、私はあなたがFAXを受信しようとしているか見当がつかないます。
あなたのエラーに関しては、マニフェスト登録BroadcastReceiver
はActivity
はなく、ダイアログを作成することはできませんので。あなたはstartActivity()
(ダイアログのようなテーマに、おそらく1)を起動するには、原則として、コールActivity
はできたが、私はそれが通話中の画面上に現れるかどうかわかりません。