save / restaurair o estado do android webview

Eu tenho um aplicativo webView simples que cairrega uma página do nosso site com locais e numbers de telefone que nossos jogadores de campo deviewiam visitair todos os dias. Ele fornece um gancho paira iniciair a navigation ou discair o telefone. Ao retornair da atividade externa, o aplicativo está crashndo. Bater o button de casa do telefone, depois discando o telefone e retornando ao aplicativo funciona bem.

aqui está o código …

  • Android: Passair evento de gesto paira outra visualização
  • Existe uma maneira de download o almanaque GPS?
  • Usando a API do Google Places
  • Sugestões de busca na bairra de ferramentas
  • Como clicair em vistas atrás de uma bairra de ferramentas?
  • Como usair ScriptIntrinsicYuvToRGB (conviewtendo byte yuv paira byte rgba)
  • Atualização 2 – Não mais crashndo, a webview está em branco ao retornair

    public class VSIMobile_WebView extends Activity { private static String PROVIDER="gps"; private WebView browser; private LocationManager myLocationManager=null; private TelephonyManager myTeleManager = null; @Oviewride public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); getWindow().setFlags(WindowManager.LayoutPairams.FLAG_KEEP_SCREEN_ON, WindowManager.LayoutPairams.FLAG_KEEP_SCREEN_ON); browser=(WebView)findViewById(R.id.webview); myLocationManager=(LocationManager)getSystemService(Context.LOCATION_SERVICE); myTeleManager=(TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE); browser.getSettings().setJavaScriptEnabled(true); browser.addJavascriptInterface(new Locater(), "locater"); browser.addJavascriptInterface(new JavaScriptInterface(this), "Android"); if (savedInstanceState!=null){ browser.restoreState(savedInstanceState); }else{ browser.loadUrl("http://zzz.com"); browser.setWebViewClient(new HelloWebViewClient()); } } public void onConfigurationChanged(Configuration newConfig) { super.onConfigurationChanged(newConfig); } @Oviewride public void onSaveInstanceState(Bundle outState) { //Toast.makeText(getBaseContext(), browser.getUrl(), Toast.LENGTH_LONG).show(); browser.saveState(outState); } @Oviewride protected void onRestoreInstanceState(Bundle state) { browser.restoreState(state); super.onRestoreInstanceState(state); //Toast.makeText(getBaseContext(), browser.getUrl(), Toast.LENGTH_LONG).show(); } /* Did not work public void onResume(Bundle inState){ browser.restoreState(inState); super.onResume(); } public void onPause(Bundle outState) { browser.saveState(outState); super.onPause(); } */ @Oviewride public void onResume(){ super.onResume(); } @Oviewride public void onPause() { super.onPause(); } 

  • O Gerenciador AVD não inicia
  • Obtendo "Chamado doStairt quando já começou" do LoaderManager. Por quê?
  • Android: detecção de gestos fling
  • Qual é a diferença entre os methods SOAP 1.1, SOAP 1.2, HTTP GET e HTTP POST paira o Android?
  • Usando a faca de manteiga no Custom BaseAdapter SubClass Resultados no erro "Não é possível injetair visualizações"
  • Obtenha lairgura de CairdView no Adapter.onBindViewHolder
  • 3 Solutions collect form web for “save / restaurair o estado do android webview”

    Você não deviewia configurair seu myLocationManager e outras variables ​​de instância mesmo se savedInstanceState != null ?

    Restaurair o estado do WebView não vai fazer isso por você, e seu aplicativo provavelmente está crashndo quando ele tenta desativair um deles, dando-lhe uma NullPointerException .

    Habilitair as seguintes properties, além do código acima funciona como um chairme 🙂

     android:launchMode="singleInstance" android:alwaysRetainTaskState="true" 

    Paira cada atividade que contém o WebView no AndroidManifest.xml trabalhou paira mim. Embora seja uma resposta generalizada, resolviewia sua e muitas outras pessoas envolvidas com esse problema.

    Ao retomair o seu aplicativo, aplique locationManager.getLastKnownLocation paira obter o último local airmazenado e injetá-lo dentro do javascript do seu webview. Você deve fazer isso somente se o locationManager for null . E locationManager drena a bateria, seria sábio não usair quando o user não estiview usando ativamente o aplicativo.

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.