Сохранить/восстановить состояние Android WebViewAndroid

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Сохранить/восстановить состояние Android WebView

Сообщение Anonymous »

У меня есть простое приложение WebView, которое загружает страницу с нашего сайта с местоположениями и телефонными номерами, которые наши полевые парни должны посещать каждый день. Он обеспечивает крючок для запуска навигации или набора телефона. При возврате от внешней деятельности приложение сбивается. Нажав кнопку «Домой телефона», а затем набрать телефон, затем возвращение в приложение работает нормально. < /p>

Вот код ... < /p>

Обновление 2 - больше не сбои, WebView пуст при возврате < /p>

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();
}


Подробнее здесь: https://stackoverflow.com/questions/543 ... id-webview
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Android»