2015-05-19 213 views
1

我们正在使用Ionic(+ Cordova)构建一个Android应用程序。Ionic - 没有互联网连接

它在浏览器中所有的作品,但是当我建立并运行发生这种情况.apk文件:

外部图像不会出现,内嵌谷歌地图保持为空。

<!DOCTYPE html> 
<html> 
<head> 
    <meta charset="utf-8"> 
    <meta name="viewport" content="initial-scale=1, maximum-scale=1, user-scalable=no, width=device-width"> 
    <title></title> 
    <link href="lib/ionic/css/ionic.css" rel="stylesheet"> 
    <link href="css/style.css" rel="stylesheet"> 

    <!-- IF using Sass (run gulp sass first), then uncomment below and remove the CSS includes above 
    <link href="css/ionic.app.css" rel="stylesheet"> 
    --> 

    <!-- ionic/angularjs js --> 
    <script src="lib/ionic/js/ionic.bundle.js"></script> 
    <script src="js/ng-cordova.min.js"></script> 

    <!-- cordova script (this will be a 404 during development) --> 
    <script src="cordova.js"></script> 

    <!-- your app's js --> 
    <script src="js/app.js"></script> 
</head> 
<body ng-app="starter"> 

    <ion-pane> 
      <ion-header-bar class="bar-stable"> 

      </ion-header-bar> 
      <ion-content> 
      <div class="main" role="main"> 

       <p id="geolocation">Finding geolocation...</p> 
       <img src="http://placehold.it/350x150.png" alt="no image" /> 

       <iframe src="https://www.google.com/maps/embed?pb=!1m14!1m12!1m3!1d635472.0298105411!2d5.1189025!3d51.525825749999996!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!5e0!3m2!1snl!2snl!4v1432033961557" width="600" height="450" frameborder="0" style="border:0"></iframe> 
      </div> 
      </ion-content> 
    </ion-pane> 
</body> 
</html> 

在我们刚刚的结束标记后创建以下行config.xml文件:在我们的index.html下面的代码

<allow-navigation href="*" /> 
<allow-intent href="*" /> 
+0

什么是您的互联网许可? –

+1

[与Android Hybid应用程序显示远程图像与Ionic框架问题的可能的重复?](http://stackoverflow.com/questions/29912773/issue-with-android-hybid-app-to-display-remote-image- with-ionic-framework) – Keval

+0

@mahdi pishguy你的意思是这条线吗?

回答

7

检查清单,让您的应用使用互联网。

<uses-permission android:name="android.permission.INTERNET" /> 

如果您正在使用科尔多瓦5(Android平台版本4.0.0),那么你应该包括白名单插件,也是新content security policy meta标签,以允许谷歌地图API来加载这样的(上顶你与其他meta标签以及HTML文件):

<meta http-equiv="Content-Security-Policy" content="default-src *; 
style-src 'self' 'unsafe-inline' http://fonts.googleapis.com/; 
script-src 'self' 'unsafe-inline' 'unsafe-eval' http://*.googleapis.com 
http://maps.gstatic.com;"> 

编辑: 检查也是你的config.xml你所付出的访问:

<access origin="*" /> 

例如允许所有连接

如果它不起作用,请检查您的日志并发布任何错误。

+1

诀窍,谢谢! –

+0

我有同样的问题,添加'android.permission.INTERNET'没有办法,我不知道如何删除权限! – Azmeer