首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Android和iOS中本地使用krpano的问题

在Android和iOS中本地使用krpano的问题
EN

Stack Overflow用户
提问于 2014-02-07 15:40:54
回答 4查看 2.9K关注 0票数 2

我已经用krpano创建了几个全景图,我正在开发一个移动应用程序(iOS + Android)来展示它们。

如果我从服务器在线访问krpano文件,一切都很好,但当我将这些文件作为应用程序资源并尝试在本地访问它们时,我无法使它工作。我发现的错误如下:

  • iOS应用程序:黑色屏幕。
  • 安卓应用程序:黑色屏幕和错误信息:“致命错误: my_pano.xml加载失败(网络错误:网络错误发生)。

我做了很多测试:只有krpano文件无法加载;其他本地html + js文件在本地加载时没有问题。

什么可以阻止krpano文件在本地加载?

在安卓系统中,我使用一个WebView对象来加载pano,从一个在线url中它可以正常工作,但不是在本地运行。

这是我在Android上的代码:

代码语言:javascript
复制
 @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        WebView myWebView = (WebView) findViewById(R.id.webview);

        //para no salir de mi webview al pinchar
        //y cargar una pantalla SPLASH mientras carga la web
        myWebView.setWebViewClient(new WebViewClient()
        {               
        });


        WebSettings webSettings = myWebView.getSettings();
        webSettings.setJavaScriptEnabled(true); //activa javascript
        webSettings.setBlockNetworkLoads(false); //para que no de bloqueos de red
        webSettings.setDomStorageEnabled(true); //recomiendan poner tb esto


        //no está funcionando la carga de la web desde local
        myWebView.loadUrl("file:///android_asset/asuncion.html");
        // myWebView.loadUrl("http://coolab.umh.es/360/alcudia/alcudia.html"); 


    }

我得到以下错误:

但是,我可以从Eclipse中看到pano:

任何建议都欢迎!

EN

回答 4

Stack Overflow用户

发布于 2015-09-11 12:13:56

对于ilovebali所说的话,你可以尝试一下CrossWalk (替代Android默认的webview),在我的例子中,它本身就是这类事情的一个很好的解决方案。

下面是一个代码示例,显示了您所要求的内容:

代码语言:javascript
复制
    xWalkView = (XWalkView) this.findViewById(R.id.your_xwalk_webview);
    xWalkView.load(filePath, null);

    XWalkPreferences.setValue(XWalkPreferences.REMOTE_DEBUGGING, true);
    XWalkPreferences.setValue(XWalkPreferences.ALLOW_UNIVERSAL_ACCESS_FROM_FILE, true);
    XWalkPreferences.setValue(XWalkPreferences.JAVASCRIPT_CAN_OPEN_WINDOW, true);

如果需要更多信息,请查看此链接:https://diego.org/2015/01/07/embedding-crosswalk-in-android-studio/

票数 1
EN

Stack Overflow用户

发布于 2014-05-06 13:09:51

我怀疑问题在于WebView可能使用的原生安卓浏览器。本机android浏览器和chrome都不允许网站在本地访问xml文件。

我没有试图将krpano封装到WebView中。但是只是将文件复制到设备上,并试图用本机浏览器打开它。我找出了这个错误。

在Android设备上查看krpano全景图的唯一方法是安装Firefox或Dolphin浏览器,并在该浏览器中查看本地页面。

希望这至少有帮助。

票数 0
EN

Stack Overflow用户

发布于 2014-12-23 10:10:09

尝试将此代码添加到您的活动中,我使用下面的代码来处理CORS (跨源请求)。

代码语言:javascript
复制
  myWebView.getSettings().setAllowFileAccess(true);
  myWebView.getSettings().setAllowContentAccess(true);
  myWebView.getSettings().setAllowFileAccessFromFileURLs(true);
  myWebView.getSettings().setAllowUniversalAccessFromFileURLs(true);

希望能帮上忙..。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21631874

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档