Autore Topic: web view che chiama activity browser  (Letto 596 volte)

Offline gabric

  • Utente senior
  • ****
  • Post: 615
  • Respect: +18
    • Google+
    • Mostra profilo
    • Brancato's site
  • Dispositivo Android:
    Nexus 5 / Tablet mediacom s4
  • Play Store ID:
    Brancato's+app
  • Sistema operativo:
    window7. ubuntu
web view che chiama activity browser
« il: 30 Dicembre 2012, 13:23:33 CET »
0
Salve, nella mia app l'utente inserisce dei dati (nick e password) i quali vengono sfruttati per creare l'url, che porta al pannello di controllo.

ho proceduto in questo modo:
activity 1: 2 edittext nelle quali inserisco i dati
               alla pressione del tasto, parte la seconda activity passandogli l'url già formato
activity 2: si prende il link dall'intent, e apre la  web view passandogli l'url.

penso che il procedimento sia corretto. ma l'app apre una terza activity esterna alla mia app (il browser di sistema) passandogli dei dati errati.

Ho fatto stampare al logcat la stringa dell'indirizzo inviato, e inserendola nel browser, funziona perfettamente.
idee del perchè?

ecco l'oncreate dell'activity2
Codice (Java): [Seleziona]
Intent intent=getIntent();
       
                String pkg=getPackageName();
               
                String a;
                a=intent.getStringExtra(pkg+".link");
               
                System.out.println("l'indirizzo è: "+a);
               
             
                        WebView webview = (WebView) findViewById(R.id.webView1);
                       
                    webview.getSettings().setJavaScriptEnabled(true);
                    webview.loadUrl(a);  

mentre questa è quello dell'activity 1

Codice (Java): [Seleziona]
   Button button = (Button) findViewById(R.id.button_invio);            
            final EditText password = (EditText) findViewById(R.id.editText_password);
            final EditText nome = (EditText) findViewById(R.id.EditText_nomeutente);
        /* listener dei bottoni ottimizzato  */
        View.OnClickListener gestore = new View.OnClickListener() {
         
       
     
          public void onClick(View view) {  
             
                String pkg=getPackageName();
                 
            switch(view.getId()){
                       
            case R.id.button_invio:
                String bnome, bpassword, link;
               
                bnome=nome.getText().toString();
                bpassword=password.getText().toString();
               
                bnome=bnome.replace(" ","");
                bpassword=bpassword.replace(" ","");
               
                link = "[url=http://156.54.111.75/Login.aspx?username="]
        Prenotazione Esami Kore
[/url]
        + bnome + "&password="+bpassword;
                        Intent newsFac = new Intent(getBaseContext(), browser.class);
                        newsFac.putExtra(pkg+".link", link);
                        startActivity(newsFac);
                        break;                 


ecco il logcat:
12-30 12:13:37.174: I/ActivityManager(60): Displayed uni.kore.it/.esami: +392ms
12-30 12:13:43.274: I/ActivityManager(60): Starting: Intent { cmp=uni.kore.it/.browser (has extras) } from pid 720
12-30 12:13:43.354: I/System.out(720): l'indirizzo è:
   Prenotazione Esami Kore
*********&password=******* (nascondo i miei dati per ovvi motivi)
12-30 12:13:43.375: D/dalvikvm(720): GREF has increased to 201
12-30 12:13:43.784: I/ActivityManager(60): Starting: Intent { act=android.intent.action.VIEW cat=[android.intent.category.BROWSABLE] dat=http://156.54.111.75/Prenotazione.aspx cmp=com.android.browser/.BrowserActivity (has extras) } from pid 720
12-30 12:13:43.974: I/ActivityManager(60): Displayed uni.kore.it/.browser: +673ms
12-30 12:13:44.554: I/ActivityManager(60): Displayed com.android.browser/.BrowserActivity: +409ms
12-30 12:13:45.274: I/ActivityManager(60): Starting: Intent { act=android.intent.action.VIEW cat=[android.intent.category.BROWSABLE] dat=http://156.54.111.75/Login.aspx cmp=com.android.browser/.BrowserActivity } from pid 440


grazie
« Ultima modifica: 30 Dicembre 2012, 13:27:31 CET da gabric »

Offline gabric

  • Utente senior
  • ****
  • Post: 615
  • Respect: +18
    • Google+
    • Mostra profilo
    • Brancato's site
  • Dispositivo Android:
    Nexus 5 / Tablet mediacom s4
  • Play Store ID:
    Brancato's+app
  • Sistema operativo:
    window7. ubuntu
Re:web view che chiama activity browser
« Risposta #1 il: 31 Dicembre 2012, 09:52:32 CET »
0
uhm alla fine ho tagliato la testa al toro.
piuttosto che passate per un activity, che autonomamente mi richiama il browser (non ho ancora capito perchè) ho deciso di richiamare direttamente io il browser, inserendo questa chiamata all'intent
Intent browse [/size]=[/size] [/size]new[/size] Intent[/size]([/size] Intent.[/size]ACTION_VIEW[/size], Uri.[/size]parse[/size]([/size]link[/size])[/size] [/size])[/size];