我目前正在为Android / iOs(使用Cordova)构建一个Angular应用。
我遇到了一个问题:应用必须在设备离线时工作。在iO上,当我将设备切换为离线时,它没问题。
在Android(4.1上的真实设备)上,如果我将设备设为离线状态并返回应用程序,则会提示我该应用已崩溃。
我不知道在哪里可以找到关于会发生什么的日志,任何帮助都会很棒:)
这是我的config.xml文件:
<?xml version="1.0" encoding="UTF-8"?>
<widget id="fr.menutab.app" version="0.0.1">
<name>App title</name>
<description>Not yet</description>
<author email="dev@callback.apache.org" href="http://cordova.io">
Author
</author>
<!-- PLUGINS -->
<feature name="Device">
<param name="ios-package" value="CDVDevice" />
<param name="android-package" value="org.apache.cordova.device.Device" />
</feature>
<feature name="Console">
<param name="ios-package" value="CDVConsole" />
</feature>
<feature name="File">
<param name="ios-package" value="CDVFile" />
<param name="android-package" value="org.apache.cordova.file.FileUtils" />
</feature>
<feature name="FileTransfer">
<param name="ios-package" value="CDVFileTransfer" />
<param name="android-package" value="org.apache.cordova.filetransfer.FileTransfer" />
</feature>
<!-- PREFERENCES -->
<preference name="target-device" value="universal" />
<preference name="Orientation" value="landscape" />
<preference name="Fullscreen" value="true" />
<preference name="phonegap-version" value="3.3.0" />
<!-- ACCESS CONTROL -->
<access origin="*" />
</widget>
告诉我您是否需要查看更多代码:)
答案 0 :(得分:2)
我遇到了同样的问题。发现这篇关于更新到cordova 3.5.0的问题的文章。
http://excellencemagentoblog.com/cordova-3-5-0-update-troubleshooting-android
对我有用的修复程序位于文章的底部:
cordova plugin remove org.apache.cordova.network-information
cordova plugin add https://github.com/apache/cordova-plugin-network-information
答案 1 :(得分:1)
您可以尝试“离线”活动。
当应用程序脱机并且设备未连接到Internet时,事件将触发。
document.addEventListener("offline", yourCallbackFunction, false);
当先前连接的设备丢失网络连接时,将触发脱机事件,以便应用程序无法再访问Internet。它依赖于与Connection API相同的信息,并在connection.type的值变为NONE时触发。
应用程序通常应该在deviceready事件触发后使用document.addEventListener附加事件侦听器。
示例:
<script type="text/javascript" charset="utf-8" src="cordova.js"></script>
<script type="text/javascript" charset="utf-8">
// Wait for device API libraries to load
//
function onLoad() {
document.addEventListener("deviceready", onDeviceReady, false);
}
// device APIs are available
//
function onDeviceReady() {
document.addEventListener("offline", onOffline, false);
}
// Handle the offline event
//
function onOffline() {
}
</script>
来源链接:http://docs.phonegap.com/en/3.1.0/cordova_events_events.md.html#offline
希望这有帮助。