Android + Flash屏幕旋转问题

时间:2011-05-23 12:30:02

标签: android

我正在使用此代码来显示Flash视频,我的问题是当我从垂直位置转到水平位置时,应用程序重新加载并重置视频。我怎么能避免这种情况。请建议

@Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        setContentView(R.layout.internalwebview);

        mWebView = (WebView) findViewById(R.id.webview);
        mWebView.setWebViewClient(new HelloWebViewClient());
        mWebView.getSettings().setPluginsEnabled(true);
        mWebView.getSettings().setJavaScriptEnabled(true);
        mWebView.getSettings().setSupportZoom(true);
        mWebView.getSettings().setBuiltInZoomControls(true);
        mWebView.setInitialScale(ZOOM_LEVEL);
        mWebView.getSettings().setUseWideViewPort(true);

            mWebView.loadUrl(url);

    }

3 个答案:

答案 0 :(得分:2)

将android:screenOrientation =“portrait”添加到AndroidManifest.xml中的活动。例如:

    <activity android:name=".SomeActivity"
          android:label="@string/app_name"
          android:screenOrientation="portrait">

这将禁用自动定位更改,否则您将不得不自己处理更改

答案 1 :(得分:2)

如果您还没有,可以通过在活动中添加对onSaveInstanceState()的引用来尝试在方向更改时保存WebView的状态:

protected void onSaveInstanceState(Bundle outState) {
  mWebView.saveState(outState);
}

然后在onCreate()方法中重新设置,如下所示:

public void onCreate(final Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.internalwebview);

    if (savedInstanceState != null)
        ((WebView)findViewById(R.id.webview)).restoreState(savedInstanceState);
 }

虽然我不太确定它是否适用于嵌入式Flash视频。 有关详细信息,请参阅this threadAndroid SDK reference

答案 2 :(得分:0)

谢谢,我自己找到了答案。

mWebView = (WebView) findViewById(R.id.webview);
mWebView.getSettings().setLoadWithOverviewMode(true);
mWebView.getSettings().setPluginsEnabled(true);
mWebView.getSettings().setUseWideViewPort(true);
mWebView.getSettings().setBuiltInZoomControls(true);
mWebView.setWebViewClient(new HelloWebViewClient());
mWebView.loadUrl(url);

和AndroidManifest.xml

<android:label="@string/app_name"  android:configChanges="keyboardHidden|orientation"  android:theme="@android:style/Theme.NoTitleBar">