PhoneGap / Cordova编译的android应用程序没有加载外部URI

时间:2016-05-04 02:58:53

标签: javascript android cordova google-maps phonegap-build

我试图创建一个简单的地理定位应用。原生地理定位工作正常,坐标正在进入。我很难加载谷歌地图,like in the Simple Markers example here

Turns out you have to whitelist external domains。没问题,我将以下内容添加到我的config.xml(在phonegap应用程序的根目录中):

<platform name="android">

以防万一,我在<body> <span><img src="https://maps.gstatic.com/mapfiles/api-3/images/spotlight-poi_hdpi.png" alt="" /></span> <div id="map"></div> </body> 下添加了相同内容。然后我删除了它。依然没有。

然后我让应用程序显示一个简单的图像;这就是应用程序的HTML部分:

googleapis.com

如果我在浏览器中打开此文件,它就是一个好的:

enter image description here

但是当我编译应用程序并在平板电脑上打开它时,呃哦:

enter image description here

所以看起来访问权限没有正确设置。图像被破坏,config.xml从未加载,我的地图永远不会看到光明。

我的根{{1}}文件的

Here is a pastebin

请帮我弄清楚为什么Android应用程序拒绝在PhoneGap / Cordova的上下文中加载外部URL。

我的赌注是我不知道的一些不起眼的权限。我已经把头撞到墙上一段时间了,真的很感激一些帮助。提前谢谢。

1 个答案:

答案 0 :(得分:1)

鉴于您已将白名单*作为来源,您甚至不需要Google。您是否尝试过从Chrome检查应用程序?在桌面浏览器中转到 chrome:// inspect ,如果设备已连接到您的计算机,您可以从那里检查应用程序。

检查器中的控制台应显示您的请求所发生的任何错误。我猜你有一个阻止请求的内容安全策略。最新版本的白名单文档位于https://github.com/apache/cordova-plugin-whitelist。在自述文件的底部,您将看到一些内容安全策略的示例。我建议在index.html中添加以下内容:

<meta http-equiv="Content-Security-Policy" content="default-src 'self' data: gap: https://ssl.gstatic.com; style-src 'self' 'unsafe-inline'; media-src *">