1

有没有人遇到过问题

I/WifiManager(22480): setWifiEnabled : true
E/WifiManager(22480): java.lang.Throwable
E/WifiManager(22480):  at android.net.wifi.WifiManager.setWifiEnabled(WifiManager.java:959)

通过 android API 打开或关闭 Wi-Fi 无线电时,我似乎遇到了这种情况。它被用于以下功能:

public static void manageWiFiRadio(Context context, String onoff)
{
    Log.d(TAG, "managerWiFiRadio(context, " + onoff + " )");
    try 
    {
        wifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
        Thread.sleep(250);
        if ( onoff == "on")
        {
            if(!wifiManager.isWifiEnabled())
            {
                Thread.sleep(250);
                wifiManager.setWifiEnabled(true);
            }
            else Log.d(TAG,"WiFi is already" + onoff);
        }
        else if( onoff == "off")
        {
            if(wifiManager.isWifiEnabled())
            {
                Thread.sleep(250);
                wifiManager.setWifiEnabled(false);
            }
            else Log.d(TAG,"WiFi is already" + onoff);
        }   

    }
    catch (Exception e) {Log.d(TAG, "There was an exception in wifi e:" + e);}
    wifiManager = null;
}

我在上面添加了睡眠进行调试,但这只会降低再现率。

为了进行测试,我在 Sprint Samsung Galaxy S III 和 Sprint HTC Evo 4G 上执行了此操作,两者都遇到了这个问题。当错误被抛出时,它会在 Android 操作系统中被捕获,但 Wi-Fi 无线电永远不会改变状态。

4

1 回答 1

0

改变

Thread.sleep(250);
wifiManager.setWifiEnabled(false);

wifiManager.setWifiEnabled(false);
Thread.sleep(250);
于 2013-08-04T09:02:55.603 回答