Are you using the following permissions?

    <uses-permission
android:name="android.permission.ACCESS_NETWORK_STATE"/>
    <uses-permission
android:name="android.permission.CHANGE_NETWORK_STATE"/>
    <uses-permission
android:name="android.permission.ACCESS_WIFI_STATE"/>
    <uses-permission
android:name="android.permission.CHANGE_CHANGE_STATE"/>


How do u setup your broadcast receiver?

Write a method:

    private void registerForWifiBroadcasts() {
        IntentFilter intentFilter = new IntentFilter();
        intentFilter.addAction
(WifiManager.NETWORK_STATE_CHANGED_ACTION);
        intentFilter.addAction
(WifiManager.SUPPLICANT_CONNECTION_CHANGE_ACTION);
        intentFilter.addAction(WifiManager.WIFI_STATE_CHANGED_ACTION);
        intentFilter.addAction
(WifiManager.SUPPLICANT_STATE_CHANGED_ACTION);

        mContext.registerReceiver(this, intentFilter);
    }

or do this in the Manifest file.

With doing this you should be able to get the state change intent.

--
Roman Baumgaertner
Sr. SW Engineer-OSDC
·T· · ·Mobile· stick together
The views, opinions and statements in this email are those of the
author solely in their individual capacity, and do not necessarily
represent those of T-Mobile USA, Inc.



On Aug 19, 12:51 pm, R Ravichandran <ravirajami...@gmail.com> wrote:
> Hello,
>
> I have some code using the WifiManager class that needs to do the following:
>
> 1. scan available open wifi hotspots
> 2. pick one
> 3. establish connection.
>
> I am not able to successfully do steps 2 and 3. Here is the snippet:
>
>     private BroadcastReceiver wifiEventReceiver = new BroadcastReceiver() {
>
>         @Override
>         public void onReceive(Context context, Intent intent) {
>
> if(intent.getAction().equals(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION)) {
>                 // Asynchronous response from scan request. Hotspot results
> are returned.
>
>                 List<ScanResult> hotSpots = wifiManager.getScanResults();
>
>                 for(ScanResult hotSpot: hotSpots) {
>                     String hotSpotSsid = hotSpot.SSID;
>                     String hotSpotBssid = hotSpot.BSSID;
>                     StringBuffer sBuf = new StringBuffer("\"");
>                     sBuf.append(hotSpotSsid+"\"");
>                     hotSpotSsid = sBuf.toString();
>
>                     if(hotSpotSsid.equals("\"myhotspot\"")) {
>
>                         WifiConfiguration wifiConfiguration = new
> WifiConfiguration();
>                         wifiConfiguration.SSID = hotSpotSsid;
>                         wifiConfiguration.BSSID = hotSpotBssid;
>                         wifiConfiguration.hiddenSSID = false;
>                         wifiConfiguration.priority = 100000;
>
>                         // add this to the configured networks
>                         int inetId =
> wifiManager.addNetwork(wifiConfiguration);
>                         if(inetId < 0) {
>                             System.out.println("Unable to add network
> configuration for SSID: "+hotSpotSsid);
>                             return;
>                         }
>                         // connect to this wifi network
>
>                         boolean successConnected =
> wifiManager.enableNetwork(inetId, true);
>                         if(successConnected) {
>                             System.out.println("====>  Connected
> successfully to myhotspot..");
>                         }
>                         else {
>                             System.out.println("====> Connection attempt to
> myhotspot failed...Returning");
>                             return;
>                         }
>                     }
>
>                 }
>
>             }
>             else
> if(intent.getAction().equals(WifiManager.NETWORK_STATE_CHANGED_ACTION)) {
>                 WifiInfo wifiInfo = wifiManager.getConnectionInfo();
>                 System.out.println("Check for current connection: SSID:
> "+wifiInfo.getSSID());
>                 int ipAddr = wifiInfo.getIpAddress();
>
>                 System.out.println("IP Address for connection: "+ipAddr);
>
>             }
>         }
>
> I am getting the message that 'enableNetwork' call is succeeding. But the
> code for handling the NETWORK_STATE_CHANGED_ACTION event never gets executed
>
> What am I doing wrong?
>
> Thanks
>
> Ravi
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers-unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to