菜鸟教程小白 发表于 2022-12-12 18:34:34

java - 在 Android 和 iOS 本地使用 krpano 的问题


                                            <p><p>我用 krpano 创建了几张全景图,我正在开发一个显示它们的移动应用程序 (iOS + Android)。</p>

<p>如果我从服务器在线访问 krpano 文件,一切正常,但是当我将文件包含为应用程序资源并尝试在本地访问它们时,我无法使其正常工作。我发现的错误如下:</p>

<ul>
<li><p>iOS 应用:黑屏。</p></li>
<li><p>Android 应用:黑屏和错误消息:“FATAL ERROR: my_pano.xml - loading failed (network error: a network error occurred)。</p></li>
</ul>

<p>我做了很多测试:只有 krpano 文件加载失败;其他本地html+js文件在本地加载没有问题。</p>

<p>什么会阻止 krpano 文件在本地加载?</p>

<p>在 Android 中,我使用 WebView 对象来加载全景图,并且从在线 url 可以正常工作,但不能在本地工作。</p>

<p>这是我在 Android 上的代码:</p>

<pre><code> @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(&#34;file:///android_asset/asuncion.html&#34;);
      // myWebView.loadUrl(&#34;http://coolab.umh.es/360/alcudia/alcudia.html&#34;);


    }
</code></pre>

<p>我收到以下错误:
<img src="/image/U5GvL.png" alt="error in android app"/> </p>

<p>但是我可以从 Eclipse 中看到全景:</p>

<p> <img src="/image/qOQYw.jpg" alt="eclipse screenshot"/> </p>

<p>非常欢迎任何建议!</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>沉迷于 <em>ilovebali</em> 所说的,您可以尝试 <strong>CrossWalk</strong>(Android 默认 webView 的替代方案),在我看来,这本身就是一个很好的解决方案对于这种事情。
<br/>这是一个显示您所问内容的代码示例:</p>

<pre><code>    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);
</code></pre>

<p>如果需要更多信息,请查看此链接:<a href="https://diego.org/2015/01/07/embedding-crosswalk-in-android-studio/" rel="noreferrer noopener nofollow">https://diego.org/2015/01/07/embedding-crosswalk-in-android-studio/</a> </p></p>
                                   
                                                <p style="font-size: 20px;">关于java - 在 Android 和 iOS 本地使用 krpano 的问题,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/21631874/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/21631874/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: java - 在 Android 和 iOS 本地使用 krpano 的问题