我在AndroidManifest.xml中有这段代码:
<activity android:name=".MainActivity"
android:configChanges="orientation"
android:screenOrientation="portrait">
我知道我的屏幕现已锁定在portrait
模式下。但有没有使用portrait
模式锁?所以我的用户可以在其他模式下查看内容,而不会将应用程序休息到开始屏幕(index.html)
答案 0 :(得分:0)
当savedInstanceState!= null
时尝试:
if (savedInstanceState == null)
{
web.loadUrl(webURL);
}
您还需要onSaveInstanceState和onRestoreInstanceState覆盖。
@Override
protected void onSaveInstanceState(Bundle outState )
{
super.onSaveInstanceState(outState);
web.saveState(outState);
}
@Override
protected void onRestoreInstanceState(Bundle savedInstanceState)
{
super.onRestoreInstanceState(savedInstanceState);
web.restoreState(savedInstanceState);
}
答案 1 :(得分:0)
我最近在StackOverflow上看到了很多关于WebView的问题,所以我决定进行调查以找到一个有效的精确答案。
我使用包含WebView的单个MainActivity创建了一个项目。
以下是在旋转屏幕时必须满足以防止WebView重新加载的条件:
使主机活动处理配置更改本身。在我的测试中,我发现你需要设置至少这3个标志:
orientation|keyboardHidden|screenSize
设置WebChromeClient
和WebViewClient
,或者将页面加载委托给用户的默认浏览器。
我在以下配置上进行了测试:
请注意,API 19之前的WebView行为可能完全不同。
如果您发现任何条件,请随时在我的帖子中添加任何必要条件。