У меня есть приложение для просмотра веб-страниц в Android, с более чем 3 различными действиями, моя проблема в том, что когда я запускаю новое действие и закрываю его с помощью finish()
, основное действие в веб-просмотре обновится снова.Можно ли предотвратить его обновление, когда я этого не хочу, и обновлять только в том случае, если я этого хочу?Я следил за несколькими постами, но получаю сообщения об ошибках cannot resolve symbol FragmentIdentifier
и других.Вот ссылка Запретить перезагрузку / просмотр веб-страниц, когда вы возвращаетесь в приложение и когда нажимаете кнопку выключения
Ниже приведено то, что у меня есть в методе onresume, чтобы запомнить последний сохраненный URL.
protected void onResume() {
super.onResume();
//String message = getIntent().getStringExtra(FSMainActivity.FragmentIdentifier);
if(FSwebview != null) {
SharedPreferences r_prefs = getSharedPreferences(getPackageName(), MODE_PRIVATE);
// String ssn = r_prefs.getString("sessionParameter","");
String lastPage = r_prefs.getString("lastUrl", "");
if(!lastPage.equals("")) {
/*if (message == null || message.compareTo(FSMainActivity.showWebViewFragment) == 0) {
if (!getSavedInstance()){
changeFragment(new WebViewFragment());
}
} else if (message.compareTo(FSMainActivity.showLoginFragment) == 0) {
changeFragment(new LoginFragment());
}*/
appLoadUrl(lastPage, false);
}else{
appLoadUrl(APP_URL, false);
}
}
}
Мое веб-приложение
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
WebView mWebView = new WebView(this);
//now do whatever u want
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.setWebViewClient(new HelloWebViewClient());
mWebView.loadUrl("https://example.com/index2.php");
mWebView.setInitialScale(130);
//finally
setContentView(mWebView);
}
Я храню последний URL ниже
protected void onPause() {
super.onPause();
SharedPreferences prefs = getSharedPreferences(getPackageName(), MODE_PRIVATE);
SharedPreferences.Editor edit = prefs.edit();
edit.putString("lastUrl", FSwebview.getUrl());
edit.commit();
}