android本地访问krpano全景注意事项
来源:互联网 发布:iphone数据恢复教程 编辑:程序博客网 时间:2024/05/29 14:51
公司有几个已经上线的全景的项目,前几天领导对我说需要将其打包成apk,刚开始听到这个需求我是一脸问号
打包apk,全景不是通过URL访问的吗??然后在深入了解需求,哦原来是离线版。
做项目,首先就是思路要清晰。我一想不就是全景吗,先将资源导入assets文件下,然后用webView访问一下,听起来很简单、做起来却又有不少坑,下面总结一下
首先,全景是用krpano做的,当我简单的用
webView.loadUrl("file:///android_asset/www/index.html");
做访问的时候,第一个错误来了:
不过这个错误也好处理:
设置WebView是否允许执行JavaScript脚本
webSetting.setJavaScriptEnabled(true);
webSetting.setJavaScriptCanOpenWindowsAutomatically(true);
然后第二个错误来了:
当他刚刚出来的时候,我不小心点击了他给我的提示,然后我的思路就彻底被带偏了,因为krpano的提示是本地访问目前只支持 Firefox,这不科学。于是我花了大把时间去看krpano官网的文档,唉都是泪,我差点就没把FirefoxAndroid源码弄下来做二次开发了,因为快下班了,我就回去睡了一觉,然后我第二天在看BUG的时候,我注意到了、BUG的大致意思是浏览器不让我访问本地的文件,不让我我访问本地文件!!这时候我突然想到了一个webSetting的方法:
webSetting.setAllowFileAccessFromFileURLs(true); 是否允许运行在一个URL环境(the context of a file scheme URL)中的JavaScript访问来自其他URL环境的内容,为了保证安全,应该不允许。
不让我访问,那么让它可以访问不就好了。
除了这个还有一个注意的地方:进入VR模式的时候按钮事件都触发不了这个时候点击 VR setup,直接SAVE一下就好了,这个现在还不知道为什么,有知道是什么原因的留言给我一下,谢谢了
下面是webiew的代码:
public class WebActivity extends AppCompatActivity { private static final String TAG = "WebActivity"; WebView webView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); getWindow().setFormat(PixelFormat.TRANSLUCENT); getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);//设置全屏 setContentView(R.layout.activity_web); webView = (WebView) findViewById(R.id.web_web); initWebViewSettings(); webView.loadUrl("file:///android_asset/www/index.html"); } private void initWebViewSettings() { WebSettings webSetting = webView.getSettings(); webSetting.setJavaScriptEnabled(true); webSetting.setJavaScriptCanOpenWindowsAutomatically(true); webSetting.setPluginState(WebSettings.PluginState.ON); webSetting.setAllowFileAccess(true); webSetting.setNeedInitialFocus(true); webSetting.setLoadsImagesAutomatically(true); webSetting.setLayoutAlgorithm(WebSettings.LayoutAlgorithm.NARROW_COLUMNS); webSetting.setSupportZoom(true); webSetting.setBuiltInZoomControls(true); webSetting.setUseWideViewPort(true); webSetting.setSupportMultipleWindows(true); webSetting.setLoadWithOverviewMode(true); webSetting.setAppCacheEnabled(true); webSetting.setDatabaseEnabled(true); webSetting.setDomStorageEnabled(true); webSetting.setGeolocationEnabled(true); webSetting.setAppCacheMaxSize(Long.MAX_VALUE); webSetting.setPluginState(WebSettings.PluginState.ON_DEMAND); webSetting.setRenderPriority(WebSettings.RenderPriority.HIGH); webSetting.setCacheMode(WebSettings.LOAD_NO_CACHE); //新加的 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) { webSetting.setAllowUniversalAccessFromFileURLs(true); } webSetting.setAllowFileAccessFromFileURLs(true); webSetting.setAllowUniversalAccessFromFileURLs(true); }}
- android本地访问krpano全景注意事项
- krpano HTML5全景漫游
- 全景|漫游|软件|krpano|
- 全景krpano相关问题解答
- KRpano全景制作
- krpano HTML5全景漫游
- android 真机 访问本地web服务器 localhost login 注意事项
- Krpano 一个全景生成多张小地图
- 如何运用krpano生成第一全景项目
- java全自动生成krpano全景漫游
- 开启第一个krpano全景漫游网站
- Krpano学习:全景图补天补地(PTGui)
- pano2vr手机全景注意事项
- 基于Krpano 的全景漫游系统的实现
- KrPano全景制作之安装初探&&little demo
- krpano全景之vtour文件夹和tour.xml文件详解
- krpano全景之移动手机端默认加载开启陀螺仪
- krpano全景之修改默认热点样式和载入效果
- HTTP 最强资料大全
- 更新package.json中的dependencies依赖到最新版本
- Android内部存储与外部存储解析
- centos修改mysql字符集 解决中文乱码问题
- 关于纯函数#1,#2与@@@的使用
- android本地访问krpano全景注意事项
- 通过Actor模型解决C++ 并发编程的一种思维 — Theron 库简述
- Oracle 外连接和(+)号的用法
- 51nod 1191 消灭兔子(优先队列好题)
- bzoj 4720(NOIP2016) 换教室 期望DP+SPFA
- SpringBoot集成Redis来实现缓存技术方案
- jsonp 小结
- ThreadLocal浅析
- JS如何创建对象和继承对象