Сохранить/восстановить состояние веб-просмотра AndroidAndroid

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

Сообщение Anonymous »

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

вот код...

Обновление 2 – больше не происходит сбоев, при возврате веб-просмотр пустует

р>

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»