zoukankan      html  css  js  c++  java
  • 利用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

    <FrameLayout  xmlns:android="http://schemas.android.com/apk/res/android"
           android:layout_width="match_parent"  
           android:layout_height="match_parent">
      
       <FrameLayout  
           android:id="@+id/main_content"  
           android:layout_width="match_parent"  
           android:layout_height="match_parent">  
      
           <WebView  
               android:id="@+id/web_flash"  
               android:layout_width="match_parent"  
               android:layout_height="match_parent"  
               android:scrollbars="horizontal" />  
        </FrameLayout > 
    </FrameLayout> 
    



    最后别忘记追加网络权限

    <uses-permission android:name="android.permission.INTERNET"/>  
    



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

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

  • 相关阅读:
    [转]windows7远程桌面连接失败:发生身份验证错误。要求的函数不受支持
    SNMP协议学习笔记
    Sublime for MacOS 使用技巧
    Git常用操作
    罗技K380连接Win10(MacBookPro双系统)系统失败
    Git知识点汇总
    开发工作中提高效率的一些方式
    css
    IO多路复用
    进程
  • 原文地址:https://www.cnblogs.com/qiaoyihang/p/6166175.html
Copyright © 2011-2022 走看看