利用webview实现在andorid中嵌入swf

阅读更多
项目背景是这样的,一套系统有三个客户端分别是网页,flex和android,现在已经在flex上面做好了一个在线客户视频聊天系统,然后在这个基础上修改打包成了SWF,放在网页上面使用效果不错,但是利用这样的方式放在移动端就是会卡在连接服务器的地方(初步了解应该是服务器是基于RTMP的Red5服务器,android目前不支持RTMP协议),然后网上这方面的都是利用webview来嵌入SWF,所以思路错了,造成了走了不少弯路,记录下来从最初到最后实现的过程吧

这一片介绍直接在webview中嵌入swf,不经过任何处理(比较暴力的方式)


MainActivity :
public class MainActivity extends Activity {

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		loadFlash();
	}

	public void loadFlash() {
		WebView mWebFlash = (WebView) findViewById(R.id.web_flash);
		WebSettings settings = mWebFlash.getSettings();
		settings.setPluginsEnabled(true);
		settings.setJavaScriptEnabled(true);
		settings.setAllowFileAccess(true);
		settings.setDefaultTextEncodingName("GBK");
		mWebFlash.setBackgroundColor(0);
		
		mWebFlash.loadUrl("file:///android_asset/NewSampleClient.swf");
	}
	
	public String getSDPath(){ 
	       File sdDir = null; 
	       boolean sdCardExist = Environment.getExternalStorageState()   
	                           .equals(Environment.MEDIA_MOUNTED);   //判断sd卡是否存在 


	       if   (sdCardExist)      //如果SD卡存在,则获取跟目录
	       {                               
	         sdDir = Environment.getExternalStorageDirectory();//获取跟目录 
	      }   
	       return sdDir.toString(); 
	       
	}

}


activity_main.xml

  
     
  
         
     
 


最后别忘记追加网络权限
  


下一篇介绍基于HTML模板的方式潜入SWF,这样我们就可以把android,JS,AS这三部分代码进行交互了

博客地址:http://qiaoyihang.iteye.com/

你可能感兴趣的:(webview,swf,嵌入)