webview加载flash的问题

liujun999999 2011-06-21 08:57:33
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系统自带的浏览器,确不存在这个问题,请问是否有人碰到过类似的问题,求教
分不够可以再开贴给分
...全文
1387 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
lanqiaiyuanyuan 2011-08-19
  • 打赏
  • 举报
回复
lanqiaiyuanyuan 2011-08-19
  • 打赏
  • 举报
回复
import java.lang.reflect.InvocationTargetException;
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"。
念茜 2011-06-22
  • 打赏
  • 举报
回复
请问退出全屏后,是flash卡屏么?只是声音在
liujun999999 2011-06-22
  • 打赏
  • 举报
回复
没卡,已经退出了全屏,但是声音还在,在原来全屏前的界面点击flash的播放按钮,可以再次播放,这个时候会出来2个声音,求高手指点
ch_984326013 2011-06-22
  • 打赏
  • 举报
回复
没弄过,帮顶下!
up

80,472

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧