我已经用krpano创建了几个全景图,我正在开发一个移动应用程序(iOS + Android)来展示它们。
如果我从服务器在线访问krpano文件,一切都很好,但当我将这些文件作为应用程序资源并尝试在本地访问它们时,我无法使它工作。我发现的错误如下:
我做了很多测试:只有krpano文件无法加载;其他本地html + js文件在本地加载时没有问题。
什么可以阻止krpano文件在本地加载?
在安卓系统中,我使用一个WebView对象来加载pano,从一个在线url中它可以正常工作,但不是在本地运行。
这是我在Android上的代码:
@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:

任何建议都欢迎!
发布于 2015-09-11 12:13:56
对于ilovebali所说的话,你可以尝试一下CrossWalk (替代Android默认的webview),在我的例子中,它本身就是这类事情的一个很好的解决方案。
下面是一个代码示例,显示了您所要求的内容:
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/
发布于 2014-05-06 13:09:51
我怀疑问题在于WebView可能使用的原生安卓浏览器。本机android浏览器和chrome都不允许网站在本地访问xml文件。
我没有试图将krpano封装到WebView中。但是只是将文件复制到设备上,并试图用本机浏览器打开它。我找出了这个错误。
在Android设备上查看krpano全景图的唯一方法是安装Firefox或Dolphin浏览器,并在该浏览器中查看本地页面。
希望这至少有帮助。
发布于 2014-12-23 10:10:09
尝试将此代码添加到您的活动中,我使用下面的代码来处理CORS (跨源请求)。
myWebView.getSettings().setAllowFileAccess(true);
myWebView.getSettings().setAllowContentAccess(true);
myWebView.getSettings().setAllowFileAccessFromFileURLs(true);
myWebView.getSettings().setAllowUniversalAccessFromFileURLs(true);希望能帮上忙..。
https://stackoverflow.com/questions/21631874
复制相似问题