2012-11-06 3 views
1

Je développe un plugin android cordova/phonegap pour lister le wifi autour de l'appareil.android JNI ERROR

Dans ma classe de plugin, je veux utiliser le WifiManager pour faire le travail. Voici mes méthode d'exécution:

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. 
} 

Voici ma méthode de 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 
    } 

sur l'appel de méthode isWifiEnabled, j'ai obtenu l'erreur suivante:

JNI ERROR (app bug): attempt to use stale local reference 0x1 
VM aborting 
fatal signal 11 (SISEGC) at 0Xdeadd00d (code=1) 

j'ai lu trouvé la même erreur avec des gens qui veulent faire du code natif (C/C++) dans l'application Android, et ils doivent utiliser la méthode newGlobalRef pour. Mais ce n'est pas mon cas, je suis en code Java pur.

Quelqu'un peut-il aider?

Merci!

Répondre