![](/img/trans.png)
[英]Cordova/Phonegap-facebook-plugin Android: facebookConnectPlugin is not defined
[英]Phonegap/Cordova 3 Android: Connection is not defined
我試着在推薦的setTimeout解決這個職位 ,但仍logcat中報道:
Uncaught ReferenceError: Connection is not defined
我已通過“ phonegap插件列表”檢查該插件確實已安裝。 config.xml包括:
<feature name="NetworkStatus">
<param name="android-package" value="org.apache.cordova.networkinformation.NetworkManager" />
</feature>
我的清單包括:
<uses-permission android:name="android.permission.INTERNET" /><uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /><uses-permission android:name="android.permission.READ_PHONE_STATE" />
(對不起,我似乎無法正確格式化上面的格式),但我繼續看到“未定義連接”。 我想念什么?
從phonegap文檔:
訪問功能
從3.0版開始,Cordova將設備級API實施為插件。 使用命令行界面中介紹的CLI的plugin命令,為項目添加或刪除此功能:
$ cordova plugin add org.apache.cordova.network-information or $ phonegap plugin add org.apache.cordova.network-information
並且,添加插件后,別忘了重建項目。
我通過定義連接擺脫了“未定義連接”參考錯誤。
“通過navigator.connection公開的連接對象提供有關設備的蜂窩和wifi連接的信息。”
Cordova給了我一個有關如何使用cordova-plugin-network-information 的簡單示例 :
function checkConnection() {
var networkState = navigator.connection.type;
var states = {};
states[Connection.UNKNOWN] = 'Unknown connection';
states[Connection.ETHERNET] = 'Ethernet connection';
states[Connection.WIFI] = 'WiFi connection';
states[Connection.CELL_2G] = 'Cell 2G connection';
states[Connection.CELL_3G] = 'Cell 3G connection';
states[Connection.CELL_4G] = 'Cell 4G connection';
states[Connection.CELL] = 'Cell generic connection';
states[Connection.NONE] = 'No network connection';
alert('Connection type: ' + states[networkState]);
}
但是當我將其作為onClick事件運行時,出現了“未定義連接”引用錯誤。
所以我添加了let Connection = navigator.connection;
在函數內部,然后工作:
function checkConnection() {
let Connection = navigator.connection;
var networkState = navigator.connection.type;
var states = {};
states[Connection.UNKNOWN] = 'Unknown connection';
states[Connection.ETHERNET] = 'Ethernet connection';
states[Connection.WIFI] = 'WiFi connection';
states[Connection.CELL_2G] = 'Cell 2G connection';
states[Connection.CELL_3G] = 'Cell 3G connection';
states[Connection.CELL_4G] = 'Cell 4G connection';
states[Connection.CELL] = 'Cell generic connection';
states[Connection.NONE] = 'No network connection';
alert('Connection type: ' + states[networkState]);
}
對我來說,解決方案是在“ deviceready”啟動后調用它。 在未定義之前。 我想這就是帶有超時的解決方案起作用的原因,當我們等待時設備就緒的調用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.