public class TestActivity extends Activity {
/** Called when the activity is first created. */
WebView swfplayer; @Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
swfplayer = (WebView) this.findViewById(R.id.swfplayer);
swfplayer.getSettings().setJavaScriptEnabled(true);
swfplayer.getSettings().setPluginsEnabled(true);
swfplayer.setWebViewClient(new WebViewClient() {
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
});
swfplayer.loadUrl("http://192.168.8.101:8080/test.html");
}}test.html的内容是这样的<embed src="http://player.youku.com/player.php/sid/XMjc4MDIxODIw/v.swf" quality="high"
width="480" height="400" align="middle"
allowScriptAccess="sameDomain" type="application/x-shockwave-flash"></embed>现在是可以正常播放,点击flash上的全屏按钮之后,也可以进入全屏状态,但是按返回键之后,退出全屏了,看到非全屏界面的flash没在播放,但是还是可以听到声音,好像是全屏播放的界面隐藏了,但是声音却没停
我用android系统自带的浏览器,确不存在这个问题,请问是否有人碰到过类似的问题,求教
分不够可以再开贴给分
/** Called when the activity is first created. */
WebView swfplayer; @Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
swfplayer = (WebView) this.findViewById(R.id.swfplayer);
swfplayer.getSettings().setJavaScriptEnabled(true);
swfplayer.getSettings().setPluginsEnabled(true);
swfplayer.setWebViewClient(new WebViewClient() {
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
});
swfplayer.loadUrl("http://192.168.8.101:8080/test.html");
}}test.html的内容是这样的<embed src="http://player.youku.com/player.php/sid/XMjc4MDIxODIw/v.swf" quality="high"
width="480" height="400" align="middle"
allowScriptAccess="sameDomain" type="application/x-shockwave-flash"></embed>现在是可以正常播放,点击flash上的全屏按钮之后,也可以进入全屏状态,但是按返回键之后,退出全屏了,看到非全屏界面的flash没在播放,但是还是可以听到声音,好像是全屏播放的界面隐藏了,但是声音却没停
我用android系统自带的浏览器,确不存在这个问题,请问是否有人碰到过类似的问题,求教
分不够可以再开贴给分
import java.lang.reflect.Method;import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.webkit.WebSettings;
import android.webkit.WebSettings.PluginState;
import android.webkit.WebView;
import android.widget.FrameLayout;public class WebviewActivity extends Activity
{
WebView playView;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);setContentView(R.layout.webview);
playView = (WebView) findViewById(R.id.webviewshow);
WebSettings webSettings = playView.getSettings();
webSettings.setJavaScriptEnabled(true);
webSettings.setBuiltInZoomControls(true);
webSettings.setPluginState(PluginState.ON);
playView.loadUrl("file:///android_asset/swf_view.html");
}
private void callHiddenWebViewMethod(String name)
{
if (playView != null)
{
try
{
Method method = WebView.class.getMethod(name);
method.invoke(playView);
}
catch (NoSuchMethodException e)
{
Log.i("No such method: " + name, e.toString());
}
catch (IllegalAccessException e)
{
Log.i("Illegal Access: " + name, e.toString());
}
catch (InvocationTargetException e)
{
Log.d("Invocation Target Exception: " + name, e.toString());
}
}
}@Override
protected void onPause()
{
super.onPause();
playView.pauseTimers();if (isFinishing())
{
playView.loadUrl("about:blank");
setContentView(new FrameLayout(this));
}
callHiddenWebViewMethod("onPause");
}@Override
protected void onResume()
{
super.onResume();
callHiddenWebViewMethod("onResume");
}}
如果你还没有加入callHiddenWebViewMethod(String name)这个反射 ,试着用用吧,然后在 activity's onPause 方法里面调用上面的方法参数为"onPause",同样 activity's onResume 方法里调用"onResume"。