我的第一个 jquery 移动应用程序包含需要来自互联网资源(如公共(public) Google 日历和亚马逊附属小部件)的数据的元素,但它仅在我使用 html5 应用程序测试器在我的 chrome 浏览器或 Kindle Fire 设备上进行测试时有效。
如果我使用在线 Phonegap 构建 android 发布 apk,则 Kindle 和其他 android 设备(如联想手机)无法在应用程序中连接互联网。我已经阅读了本期的所有主题,发现建议使用 <access origin="*" subdomains="true" />
在 config.xml 中,但它是无效的。
我还将代码 fragment 放入应用程序中,例如:
if (navigator.onLine) {
$("#ifonline").append("Online");
} else {
$("#ifonline").append("offline");
}
var isOffline = 'onLine' in navigator && !navigator.onLine;
if ( isOffline ) {
$("#ifonline2").append("Status: offline");
}
else {
$("#ifonline2").append("online");
}
但结果是什么都没有。我的配置文件:
<?xml version="1.0" encoding="UTF-8" ?>
<widget xmlns = "http://www.w3.org/ns/widgets"
xmlns:gap = "http://phonegap.com/ns/1.0"
id = "com.myapp.myapptodo"
versionCode = "10"
version = "1.0.0" >
<name>myapp</name>
<description>
myapp is very good but can't find that &@ĐäĐ wifi!
</description>
<author href="https://mysite" email="mymail">
Ceatos
</author>
<gap:plugin name="org.apache.cordova.network-information" />
<feature name="http://api.phonegap.com/1.0/geolocation"/>
<feature name="http://api.phonegap.com/1.0/media"/>
<feature name="http://api.phonegap.com/1.0/network"/>
<feature name="http://api.phonegap.com/1.0/notification"/>
<feature name="InAppBrowser">
<param name="android-package" value="org.apache.cordova.InAppBrowser"/>
</feature>
<feature name="NetworkStatus">
<param name="android-package" value="org.apache.cordova.networkinformation.NetworkManager" />
</feature>
<access origin="*" subdomains="true" />
我有一个可用的 wifi 网络,并且设备已连接到它。我该怎么办?
最佳答案
添加白名单插件
<gap:plugin name="cordova-plugin-whitelist" source="npm" />
您可能需要在头部添加此元标记
<meta http-equiv="Content-Security-Policy" content="default-src *; style-src * 'unsafe-inline'; script-src * 'unsafe-inline'; media-src *">
并将这两行添加到config.xml
<allow-navigation href="http://*/*" />
<allow-intent href="https://*/*" />
关于android - Phonegap(在线构建)应用程序 - 没有互联网连接和网络状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32928068/