1

我正在开发一个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)

我发现想要将本机(C/C++)代码放入 android 应用程序的人也发现了同样的错误,他们必须使用 newGlobalRef 方法来 . 但这不是我的情况,我使用的是纯 Java 代码。

任何人都可以帮忙吗?

谢谢 !

4

1 回答 1

3

看看https://groups.google.com/forum/?fromgroups=#!msg/phonegap/U5U5X07bEUI/TG4VppzazfQJ - 这可能是权限问题。

于 2012-11-14T04:12:04.943 回答