Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/214.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 用于3G连接的等效wifiReceiver_Android_Wifi_Broadcastreceiver_3g - Fatal编程技术网

Android 用于3G连接的等效wifiReceiver

Android 用于3G连接的等效wifiReceiver,android,wifi,broadcastreceiver,3g,Android,Wifi,Broadcastreceiver,3g,我有一个名为WifiReceiver的类,它扩展了BroadcastReceiver: class WifiReceiver extends BroadcastReceiver { public void onReceive(Context c, Intent intent) { wifiList = mainWifi.getScanResults(); int size=wifiList.size(); for(int i

我有一个名为WifiReceiver的类,它扩展了BroadcastReceiver:

class WifiReceiver extends BroadcastReceiver 
{

    public void onReceive(Context c, Intent intent) 
    {
        wifiList = mainWifi.getScanResults();

        int size=wifiList.size();
        for(int i = 0; i < size; i++)
        {
            Log.i("test","BSSID = "+wifiList.get(i).BSSID);
            Log.i("test","SSID = "+wifiList.get(i).SSID);
        }

    }

}
////////////////////

基本上,我希望能够从任何可用网络获取BSSID和SSID。。。 它工作正常,但仅适用于WIFI连接。一旦我将手机从WIFI切换到3G,WifiReceiver类就不会被调用

有人知道我错过了什么吗


谢谢

你到底有什么问题?例如,如果你想找到可用的3G网络,如果没有公共API,比如电话与Wi-Fi连接有很大不同,我也不会感到惊讶。如果你想知道为什么在切换到3G后你的WifiReceiver没有被调用,你确定你的手机没有关闭整个Wi-Fi模块吗?是的,我只想在切换到3G时调用我的WifiReceiver…在这种情况下,最好与WifiManager进行一些检查。isWifiEnabled()。还可能在WIFI_STATE_CHANGED_ACTION中添加一个钩子,以查看Wi-Fi是否已关闭-在此之后,扫描结果的WifiReceiver不太可能被调用。
mainWifi = (WifiManager) getSystemService(Context.WIFI_SERVICE);
receiverWifi = new WifiReceiver();
registerReceiver(receiverWifi, new   IntentFilter(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION));
mainWifi.startScan();