Status der Android-Webansicht speichern/wiederherstellenAndroid

Forum für diejenigen, die für Android programmieren
Anonymous
 Status der Android-Webansicht speichern/wiederherstellen

Post by Anonymous »

Ich habe eine einfache WebView-App, die eine Seite unserer Website mit Standorten und Telefonnummern lädt, die unsere Außendienstmitarbeiter jeden Tag besuchen sollen. Es bietet einen Haken zum Starten der Navigation oder zum Wählen des Telefons. Bei der Rückkehr von einer externen Aktivität stürzt die App ab. Das Drücken der Home-Taste des Telefons, das Wählen des Telefons und das anschließende Zurückkehren zur App funktioniert einwandfrei.

Hier ist der Code...

Update 2 – Kein Absturz mehr, die Webansicht ist bei der Rückkehr leer

Code: Select all

public class VSIMobile_WebView extends Activity {
private static String PROVIDER="gps";
private WebView browser;
private LocationManager myLocationManager=null;
private TelephonyManager myTeleManager = null;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON, WindowManager.LayoutParams.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);
}

@Override
public void onSaveInstanceState(Bundle outState) {
//Toast.makeText(getBaseContext(), browser.getUrl(), Toast.LENGTH_LONG).show();
browser.saveState(outState);
}

@Override
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();
}
*/

@Override
public void onResume(){
super.onResume();
}

@Override
public void onPause() {
super.onPause();
}

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post