Autore Topic: Problema con WebView e sito Javascript  (Letto 378 volte)

Offline luckiks

  • Nuovo arrivato
  • *
  • Post: 2
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Samsung GT-I9300
  • Sistema operativo:
    Windows 8
Problema con WebView e sito Javascript
« il: 22 Aprile 2013, 16:42:01 CEST »
0
Ciao a tutti ragazzi, mi sono appena iscritto a questo gran bel forum e già da subito vorrei chiedervi un aiuto.
Ora vi spiego:
sto realizzando un app che tramite una WebView visualizzi un sito, questo: http://www.segnaleorario.it.
Il sito ha un back-end dove gestire le preferenze con un pulsante applica, quel pulsante poi apre un alert (credo) per la conferma delle nuove impostazioni.
Ho incluso un WebViewClient per fare in modo che cliccando un link si resti sempre dentro la WebView.
Sono arrivato al punto di caricare la home del sito correttamente e di caricare anche la pagina delle preferenze (restando dentro la WebView).
Ora il problema: entrato nel back-end posso fare quello che voglio, immettere parametri, checkare, decheckare, nessun problema; quando vado poi a confermare non succede nulla.. nessuna finestra che mi faccia confermare le modifiche.
Heelp!
Ecco il mio codice:
Codice (Java): [Seleziona]
import android.os.Bundle;
import android.app.Activity;
import android.view.KeyEvent;
import android.view.Menu;
import android.view.MenuItem;
import android.view.Window;
import android.view.WindowManager;
import android.webkit.WebSettings;
import android.webkit.WebSettings.PluginState;
import android.webkit.WebView;
import android.webkit.WebViewClient;



public class MainActivity extends Activity {
       
        public WebView WebViewWeb;

        @Override
        protected void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
               
               
                getWindow().requestFeature(Window.FEATURE_NO_TITLE);
                this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
               
                WebViewWeb = new WebView(this);
                setContentView(WebViewWeb);

                WebSettings webSettings = WebViewWeb.getSettings();
                webSettings.setJavaScriptEnabled(true);
                webSettings.setJavaScriptCanOpenWindowsAutomatically(true);
                webSettings.setSupportMultipleWindows(true);
                webSettings.setPluginState(PluginState.ON);
               
                WebViewWeb.setWebViewClient(new WebViewClient(){
                        @Override
                        public boolean shouldOverrideUrlLoading(WebView WebViewWeb, String url){
                                WebViewWeb.loadUrl(url);
                                return true;
                        }
                });
                WebViewWeb.loadUrl("http://www.segnaleorario.it");

        }
       
        @Override
        public boolean onKeyDown(final int keyCode, final KeyEvent event){
                if((keyCode == KeyEvent.KEYCODE_BACK)&& WebViewWeb.canGoBack()){
                        WebViewWeb.goBack();
                        return true;
                }
                return super.onKeyDown(keyCode, event);
        }
       

        @Override
        public boolean onCreateOptionsMenu(Menu menu) {
                MenuItem Uscita = menu.add(Menu.NONE, 1, 1, "Exit");
                Uscita.setIcon(R.drawable.exit);
                return true;
        }
       
        public boolean onOptionsItemSelected(MenuItem Usita){
                this.finish();
                return true;
        }

}

Grazie mille in anticipo :)