Autore Topic: Aprire browser con pagina locale  (Letto 3968 volte)

Offline straken76

  • Nuovo arrivato
  • *
  • Post: 5
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy
  • Sistema operativo:
    Linux Fedora
Aprire browser con pagina locale
« il: 21 Aprile 2010, 12:08:45 CEST »
0
Ciao a tutti
Vorrei aprire il browser di default passandogli una pagina locale (tipo quanto si fa sul browser del pc mettendo file:// nella url). Sono arrivato però ad un punto morto.
Ossia:
  • ho messo il file test.html nella dir assets/html del progetto
  • all'interno della acrivity ho creato il metodo:
Codice (Java): [Seleziona]
Uri uri = Uri.parse("file:///android_asset/html/" + aFile);
Intent intent = new Intent(Intent.ACTION_VIEW,uri);
intent.setClassName("com.android.browser","com.android.browser.BrowserActivity");
startActivity(intent);


Così facendo il browser viene aperto correttamente, ma dice sempre che il file file:///android_asset/html/test.html non è stato trovato. Ho cercato di capire da cosa possa dipendere e l'unico dubbio è che il browser si possa riferire alla sua directory assets e non a quella dell'app chiamante. Può essere? In tale caso come è possibile secondo voi risolvere questo problema?

Grazie!
« Ultima modifica: 15 Maggio 2010, 17:23:21 CEST da JD »

Offline JD

  • Amministratore
  • Utente storico
  • *****
  • Post: 1600
  • Respect: +232
    • leinardi
    • Mostra profilo
  • Dispositivo Android:
    LG Nexus 5
  • Sistema operativo:
    L'ultima Ubuntu
Re:Aprire browser con pagina locale
« Risposta #1 il: 21 Aprile 2010, 12:48:37 CEST »
0
Ciao, anche io non ho trovato un modo per aprire un file presente in assets da un'altra applicazione.

Una possibile alternativa consiste nell'utilizzare una WebView al posto del Browser:
Codice (Java): [Seleziona]
import android.app.Activity;
import android.os.Bundle;
import android.view.KeyEvent;
import android.webkit.WebView;

public class MyWebView extends Activity {
        WebView mWebView;
        /** Called when the activity is first created. */
        @Override
        public void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);

                mWebView = new WebView(this);
                mWebView.getSettings().setJavaScriptEnabled(true);

                setContentView(mWebView);

                mWebView.loadUrl("file:///android_asset/test.html");
        }

        @Override
        public boolean onKeyDown(int keyCode, KeyEvent event) {
                if ((keyCode == KeyEvent.KEYCODE_BACK) && mWebView.canGoBack()) {
                        mWebView.goBack();
                        return true;
                }
                return super.onKeyDown(keyCode, event);
        }
}
« Ultima modifica: 21 Aprile 2010, 13:00:04 CEST da JD »
È stata trovata una soluzione al tuo problema?
Evidenzia il post più utile premendo . È un ottimo modo per ringraziare chi ti ha aiutato ;).
E se hai aperto tu il thread marcalo come risolto cliccando !

Offline Agafi

  • Utente normale
  • ***
  • Post: 173
  • Respect: +10
    • svetlana-tomasevschi-perini
    • agafist
    • Mostra profilo
  • Dispositivo Android:
    SE Xperia Neo,LG Optimus One,Asus EEE Pad Transformer,HTC Magic Vodafone
  • Play Store ID:
    Agafi
  • Sistema operativo:
    Win7
Re:Aprire browser con pagina locale
« Risposta #2 il: 21 Aprile 2010, 14:46:06 CEST »
0
Una soluzione potrebbe essere quello di mettere il file .htm sulla memoria SD

Offline straken76

  • Nuovo arrivato
  • *
  • Post: 5
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy
  • Sistema operativo:
    Linux Fedora
Re:Aprire browser con pagina locale
« Risposta #3 il: 21 Aprile 2010, 20:54:26 CEST »
0
@JD: grazie per la dritta! Domani o al max venerdì ci provo e faccio sapere (devo visualizzare la pagina html che in realtà fa solo un javascript che fa redirect su altra pagina passando dei parametri criptati)

@Agafi: si, era il piano B, ma così il file sarebbe visibile anche agli utenti che potrebbero teoricamente modificarlo, cosa che vorrei evitare

Offline straken76

  • Nuovo arrivato
  • *
  • Post: 5
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy
  • Sistema operativo:
    Linux Fedora
Re:[RISOLTO] Aprire browser con pagina locale
« Risposta #4 il: 23 Aprile 2010, 09:12:43 CEST »
0
Il sistema indicato da JD ha risolto completamente e brillantemente il problema...
Grazie mille!!!

Offline Jackalope

  • Nuovo arrivato
  • *
  • Post: 7
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Galaxy s
  • Sistema operativo:
    Windows 7
Re:Aprire browser con pagina locale
« Risposta #5 il: 07 Agosto 2011, 21:33:32 CEST »
0
salve
sono alle prime armi e vorrei fare esattamente la tua stessa cosa...aprendo però una pagina web e non una pagina locale
vorrei creare una semplice app con un semplice bottone al centro che cliccato mi apre una pagina web sul browser

potresti darmi qualche dritta?
grazie
ciao