项目背景是这样的,一套系统有三个客户端分别是网页,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/
分享到:
相关推荐
在android的webview中实现websocket通信
Android WebView实现自由复制文字
使用android studio 3.1.2 ,利用webview,实现登录界面。采用本地html 页面
实现了添加书签等的功能,具体参见我的博客: http://blog.csdn.net/shouhuqi/article/details/7827748
本资源配套本人的博客文章《Android开发】Android Studio中进行简单的WebView构建浏览器开发1》和《Android开发】Android Studio中进行简单的WebView构建浏览器开发2》进行使用,实现了基本的浏览器功能:包括:输入...
android利用webview实现企业网站移动宣传,适合初学安卓的人
WebView加载网页,有网的情况下加载网页,之后关闭网络并结束进程在打开一样可以看到先前看到过的网页,当点击没打开过的网页是则:链接不存在。
Android-X5WebView基本封装和使用 通过OkHttp拦截器、自定义CookieJar有效完成客户端与H5端的Cookie同步管理 监听WebView的加载进度 滚动条的设置(隐藏或者显示,内侧显示还是外侧显示) 优化X5WebView的预加载问题...
Android实现WebView懒加载,提前进行页面JS资源加载。减少WebView加载时间及加载资源问题。Android 8.0以前需要引入X5内核,Android 8.0以后无特殊要求。
Android Webview虽然提供了页面加载及资源请求的钩子,但是对于h5的ajax请求并没有提供干涉的接口,这意味着我们不能在webview中干涉javascript发起的http请求,而有时候我们确实需要能够截获ajax请求并实现一些功能...
android 8.0 webview 拍照、预览、二维码扫描比较完整的例子,对于权限检查控制,有比较完善的提示写法。可以下载后,直接在android studid上运行,编译版本和target版本均是SDK android 8.0,最低版本设置成了...
在Android的webview中定制js的alert,confirm和prompt对话框的方法
Android WebView 去除标题 利用javacript交互
Android中实现WebView点击图片放大显示,完整代码demo。
实现Android中WebView图片的缓存,并且实现如何替换WebView中默认图片以及如何实现图片的点击。
android使用webView实现java程序与js脚本的相互调用,
Android中使用WebView, WebChromeClient和WebViewClient加载网页的具体实现过程。
自定义webview中的网页“拍照”按钮调用系统相机拍照的API接口MyBrowserAPI.CapturePhoto(filename),在网页JavaScript中调用以后返回存放照片的完整路径名,默认将照片存放在系统SD卡的根目录,包含整个工程中需要添加...
解决React-Native的WebView不支持Android选择图片和拍照
Android中Webview H5调用拍照功能,有需要的请下载。。。