我正在开发一个cordova / phonegap android插件来列出设备周围的wifi。
在我的插件类中,我想使用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)
我读到与想要在Android应用程序中生成本机(C / C ++)代码的人发现相同的错误,并且他们必须使用newGlobalRef方法。但它不是我的情况,我是纯Java代码。
任何人都可以提供帮助吗?
谢谢!
答案 0 :(得分:3)