Autore Topic: WebApp caricata in una WebView  (Letto 698 volte)

Offline liuk78

  • Utente junior
  • **
  • Post: 73
  • Respect: +5
    • Mostra profilo
  • Sistema operativo:
    Windows 7
WebApp caricata in una WebView
« il: 02 Settembre 2011, 11:35:14 CEST »
0
Ciaoa tutti
io uso queste righe di codice per caricare una WebApp all'interno della mia WebView.

Codice (Java): [Seleziona]
            String htmlPage = "http://miawebapp";
            webView.setWebViewClient(new WebViewClient());
            WebSettings webSettings = webView.getSettings();
            webSettings.setJavaScriptEnabled(true);            
            webView.loadUrl(htmlPage);

Tutto funziona a meraviglia e vengo reindirizzato al login della webapp.

Il problema è che appena provo a fare il login ricevo questo errore

Codice: [Seleziona]
09-02 11:22:57.510: ERROR/AndroidRuntime(7422): FATAL EXCEPTION: main
09-02 11:22:57.510: ERROR/AndroidRuntime(7422): android.view.WindowManager$BadTokenException: Unable to add window -- token null is not for an application
09-02 11:22:57.510: ERROR/AndroidRuntime(7422):     at android.view.ViewRoot.setView(ViewRoot.java:440)
09-02 11:22:57.510: ERROR/AndroidRuntime(7422):     at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:181)
09-02 11:22:57.510: ERROR/AndroidRuntime(7422):     at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:95)
09-02 11:22:57.510: ERROR/AndroidRuntime(7422):     at android.app.Dialog.show(Dialog.java:269)
09-02 11:22:57.510: ERROR/AndroidRuntime(7422):     at android.app.AlertDialog$Builder.show(AlertDialog.java:907)
09-02 11:22:57.510: ERROR/AndroidRuntime(7422):     at android.webkit.WebView.onSavePassword(WebView.java:1245)
09-02 11:22:57.510: ERROR/AndroidRuntime(7422):     at android.webkit.CallbackProxy.handleMessage(CallbackProxy.java:420)
09-02 11:22:57.510: ERROR/AndroidRuntime(7422):     at android.os.Handler.dispatchMessage(Handler.java:99)
09-02 11:22:57.510: ERROR/AndroidRuntime(7422):     at android.os.Looper.loop(Looper.java:126)
09-02 11:22:57.510: ERROR/AndroidRuntime(7422):     at android.app.ActivityThread.main(ActivityThread.java:3998)
09-02 11:22:57.510: ERROR/AndroidRuntime(7422):     at java.lang.reflect.Method.invokeNative(Native Method)
09-02 11:22:57.510: ERROR/AndroidRuntime(7422):     at java.lang.reflect.Method.invoke(Method.java:491)
09-02 11:22:57.510: ERROR/AndroidRuntime(7422):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:841)
09-02 11:22:57.510: ERROR/AndroidRuntime(7422):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:599)
09-02 11:22:57.510: ERROR/AndroidRuntime(7422):     at dalvik.system.NativeStart.main(Native Method)

Thanks  :-)

Offline liuk78

  • Utente junior
  • **
  • Post: 73
  • Respect: +5
    • Mostra profilo
  • Sistema operativo:
    Windows 7
Re:WebApp caricata in una WebView
« Risposta #1 il: 02 Settembre 2011, 16:46:05 CEST »
0
Ho risolto con queste tre righe di codice prima  d'inizializzazione della WebView

Codice (Java): [Seleziona]
        Activity a = getActivity();
        while(a.getParent() != null) {
            a = a.getParent();
        }

        webView = new WebView(a);

Il resto rimane identico, in poche parole il problema è che bisogna inizializzare la mia WebView SEMPRE con il "base context".

Prima utilizzavo questo codice che sembra avere problemi con la WebView.

Codice (Java): [Seleziona]
Context c = getActivity().getApplicationContext();

Ora che ho risolto perchè non mi posso "thanksare" da solo?
 :D :D :D :D :D :D

Offline Ricky`

  • Amministratore
  • Utente storico
  • *****
  • Post: 3489
  • Respect: +507
    • Github
    • Google+
    • rciovati
    • Mostra profilo
Re: WebApp caricata in una WebView
« Risposta #2 il: 02 Settembre 2011, 18:19:09 CEST »
0
Invece di quella strana cosa ti bastava usare NomeActivity.this

Sent from my HTC Desire