2012-11-06 51 views
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代码中。

任何人都可以提供帮助吗?

谢谢!

回答