我正在尝试创建一个应用程序,可以使用Android作为传真机,即发送图片作为传真,或接收传真并另存为图片。到目前为止,我是从地面开始,并确保我可以拦截一个由用户决定的呼叫。我在我的程序清单中注册了一个接收器,它带有一个电话状态过滤器,当状态改变时会显示出来(即来电)。
因此,在我的BroadcastReceiver上,我尝试弹出一个警报对话框,提示用户要么接受传真,要么接受呼叫,但警报对话框似乎抛出了一个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代码中看到的内容,它传递上下文以及窗口和窗口管理器,我认为这就是它崩溃的原因,是否有更好的方法或其他我应该使用的方法来覆盖调用屏幕?