如何在另一个 activity 关闭时停止 android webview activity 重新加载
How to stop android webview activity from reloading when another activity is closed
我有一个 android webview 应用程序,有超过 3 个不同的 activity 我的问题是当我午餐新 activity 并使用 finish()
关闭它时,主要webview activity 将再次刷新。是否可以在我不想要它时阻止它刷新并仅在我想要它的 activity 上刷新?
我关注了一些 post,但在 cannot resolve symbol FragmentIdentifier
和其他方面遇到了错误。这里是linkPrevent Reload Activity / Webview when go Back to app and when press the turn off button
下面是我在 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();
}
由于您也在 onResume()
中加载您的网址,因此当您的其他 activity 关闭并且网络视图 activity 成为焦点时,它将被调用。这里有 2 个选择。
- 仅在 onCreate() 方法中加载您的网址,因为在 activity 重新启动之前不会再次调用它。
在完成第二个 activity 之前,在共享首选项中保存一些布尔值或作为静态变量,例如
sharedPreferences.putBoolean("activity finished",真);
然后在您的 onResume() 方法中检查上述布尔变量值,然后再加载您的网址。请记住根据您的需要将值设置回 false,最好是在您的第一个 activity onStop() 方法中
我有一个 android webview 应用程序,有超过 3 个不同的 activity 我的问题是当我午餐新 activity 并使用 finish()
关闭它时,主要webview activity 将再次刷新。是否可以在我不想要它时阻止它刷新并仅在我想要它的 activity 上刷新?
我关注了一些 post,但在 cannot resolve symbol FragmentIdentifier
和其他方面遇到了错误。这里是linkPrevent Reload Activity / Webview when go Back to app and when press the turn off button
下面是我在 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();
}
由于您也在 onResume()
中加载您的网址,因此当您的其他 activity 关闭并且网络视图 activity 成为焦点时,它将被调用。这里有 2 个选择。
- 仅在 onCreate() 方法中加载您的网址,因为在 activity 重新启动之前不会再次调用它。
在完成第二个 activity 之前,在共享首选项中保存一些布尔值或作为静态变量,例如
sharedPreferences.putBoolean("activity finished",真);
然后在您的 onResume() 方法中检查上述布尔变量值,然后再加载您的网址。请记住根据您的需要将值设置回 false,最好是在您的第一个 activity onStop() 方法中