1
我正在開發一個cordova/phonegap android插件來列出設備周圍的wifi。android JNI ERROR
在我的插件類中,我想使用WifiManager來完成這項工作。 我在這裏的執行方法:
public boolean execute(String action, JSONArray args, CallbackContext callbackContext) throws JSONException {
Log.d ("WifiLister", "action : " + action);
if ("WifiList".equals(action)) {
wifiList(callbackContext);
return true;
}
return false; // Returning false results in a "MethodNotFound" error.
}
這裏我wifiList方法:
private void wifiList(CallbackContext callbackContext) throws JSONException{
WifiManager wifiManager = (WifiManager) cordova.getContext().getSystemService(Context.WIFI_SERVICE);
if (!wifiManager.isWifiEnabled()) {
callbackContext.error("Wifi disabled, please turn on Wifi and try again");
}
else{
// do something
}
在isWifiEnabled方法調用,我得到了以下錯誤:
JNI ERROR (app bug): attempt to use stale local reference 0x1
VM aborting
fatal signal 11 (SISEGC) at 0Xdeadd00d (code=1)
我讀發現了同樣的錯誤與想要將原生(C/C++)代碼轉換爲android應用程序的人們,他們必須使用newGlobalRef方法。但它不是我的情況,我在純Java代碼中。
任何人都可以提供幫助嗎?
謝謝!
謝謝,它需要我的android.permission.ACCESS_NETWORK_STATE。即使我不使用它。可能是某些設備的phonegap奇怪問題。 –