Estoy usando una vista web en mi aplicación. Webview se crea utilizando el contexto de la aplicación. La aplicación se cierra al hacer clic en cualquier cuadro de selecciónBloqueo de la aplicación al hacer clic en el cuadro de selección en webview
04-10 14:19:14.502: E/AndroidRuntime(12628): Uncaught handler: thread main exiting due to uncaught exception
04-10 14:19:14.542: E/AndroidRuntime(12628): android.view.WindowManager$BadTokenException: Unable to add window -- token null is not for an application
04-10 14:19:14.542: E/AndroidRuntime(12628): at android.view.ViewRoot.setView(ViewRoot.java:476)
04-10 14:19:14.542: E/AndroidRuntime(12628): at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:177)
04-10 14:19:14.542: E/AndroidRuntime(12628): at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:91)
04-10 14:19:14.542: E/AndroidRuntime(12628): at android.app.Dialog.show(Dialog.java:239)
04-10 14:19:14.542: E/AndroidRuntime(12628): at android.webkit.WebView$InvokeListBox.run(WebView.java:9509)
04-10 14:19:14.542: E/AndroidRuntime(12628): at android.os.Handler.handleCallback(Handler.java:609)
04-10 14:19:14.542: E/AndroidRuntime(12628): at android.os.Handler.dispatchMessage(Handler.java:92)
04-10 14:19:14.542: E/AndroidRuntime(12628): at android.os.Looper.loop(Looper.java:123)
04-10 14:19:14.542: E/AndroidRuntime(12628): at android.app.ActivityThread.main(ActivityThread.java:4595)
04-10 14:19:14.542: E/AndroidRuntime(12628): at java.lang.reflect.Method.invokeNative(Native Method)
04-10 14:19:14.542: E/AndroidRuntime(12628): at java.lang.reflect.Method.invoke(Method.java:521)
04-10 14:19:14.542: E/AndroidRuntime(12628): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860)
04-10 14:19:14.542: E/AndroidRuntime(12628): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
04-10 14:19:14.542: E/AndroidRuntime(12628): at dalvik.system.NativeStart.main(Native Method)
Soy muy consciente de que esta pregunta se ha hecho ya muchas veces, pero estoy aún a encontrar ninguna solución de trabajo. Este problema se resolverá si utilizo el contexto de la actividad, pero tengo que usar el contexto de la aplicación debido a otras inquietudes. Para otras alertas y diálogos, los he manejado anulando en JsAlert() en webchromeclient, pero no puedo encontrar cómo puedo interceptar esto en mi vista web y crear mi propio diálogo de selector.
Cualquier tipo de sugerencias/ayuda es muy apreciada.
Adición de una muestra de relleno de mi aplicación vistaweb
class MyWebView extends WebView
{
MyWebView(Context context)
{
super(context.getApplicationContext());
setWebChromeClient(myWebChromeClient);
setWebViewClient(myWebViewClient);
}
}
¿Qué has guardado? ¿Se extiende Activity o WebView? – Bhavin
su vista web. Se llama desde una actividad diferente. Estoy creando una vista web en tiempo de ejecución (no estoy usando ningún diseño) utilizando el contexto de la aplicación – androgeek
si conoce esta situación, entonces debe usar el contexto Actividad en lugar de la Aplicación, ya que está intentando para hacer algunas cosas de UI sin el contexto de IU que debería ser de Actividad. –