wifiStartScan

postado em 6 de jun de 2012 16:35 por Silvio Garbes
wifiStartScan()

Starts a scan for Wifi access points.

Returns:
 
True if the scan was initiated successfully.

Exemplo

<?php
/* @author: Nicolas B. <amd3002[at]gmail[dot]com> */
require_once('Android.php');
$droid = new Android();

/* First dialog box */
$droid->dialogCreateAlert('PFA Wifi Scanner','Welcome in PFA Wifi Scanner');
$droid->dialogSetNeutralButtonText('Ok');
$droid->dialogShow();
$droid->dialogGetResponse();//We wait until user press 'Ok'
$todo = 'init';

/* Main loop */
while (1)
{
   switch($todo)
   {
      case 'init':
         $droid->dialogCreateAlert('Menu', 'Make your choice...');
         $droid->dialogSetPositiveButtonText('Scan !');
         $droid->dialogSetNegativeButtonText('Exit');
         $droid->dialogShow();
         $choice = $droid->dialogGetResponse();//We wait until user press a button

         /* We test user choice */
         switch($choice['result']->which)
         {
            case 'positive' :
               /* We check if wifi is ON */
               $wifi_status = $droid->checkWifiState();
               if ($wifi_status['result'])
               {
                  /* Wifi is ON, we start scanning */
                  $droid->wifiStartScan();
                  $scan = $droid->wifiGetScanResults();
                  $ap_list = $scan['result'];

                  $droid->dialogCreateAlert('PFA Wifi Scanner');

                  /* We build an array based on the result of the scan */
                  $tab = array();
                  for ($i = 0 ; $i <= count($ap_list) - 1 ; $i++)
                  {
                     $line = '';
                     foreach($ap_list[$i] as $k => $v)
                     {
                        switch($k)
                        {
                           case 'ssid' :
                              $line .= $v . ' ';
                              break;

                           case 'capabilities' :
                              $line .= substr($v, 1, -1) . ' ';
                              break;

                           case 'level' :
                              $line .= $v . 'dbm ';
                              break;

                        }
                     }
                     $tab[$i] = $line;
                  }
                  /* We check if there is at least 1 AP found */
                  if (empty($tab[0]))
                  {
                     $tab[0] = 'No AP found !';
                  }
                  $droid->dialogSetItems($tab);
                  $droid->dialogShow();

                  /* We show result until user click his screen */
                  $droid->dialogGetResponse();
               }
                else//Wifi is OFF
                {
                  $droid->dialogCreateAlert('Error', 'Wifi is currently OFF, would you like to turn it ON ?');
                  $droid->dialogSetPositiveButtonText('Yes');
                  $droid->dialogSetNegativeButtonText('No');
                  $droid->dialogShow();
                  $choice = $droid->dialogGetResponse();//We wait until user press a button

                  /* We test user choice */
                  switch($choice['result']->which)
                  {
                     case 'positive' :
                        /* We try to turn wifi ON */
                        $wifi_status = $droid->toggleWifiState();
                        if (!$wifi_status['result'])
                        {
                           $droid->dialogCreateAlert('Error', 'An error occured, try to manually turn wifi ON...');
                           $droid->dialogSetNeutralButtonText('Ok');
                           $droid->dialogShow();
                           $droid->dialogGetResponse();//We wait until user press a button
                        }
                        break;

                     default :
                        break;
                  }
                }
               break;

            default ://Exit case
               $todo = 'exit';
               break;
         }
         break;

      case 'exit'://Exit case
         $droid->exit();
         exit(1);
         break;
   }
}
/* End of file */
?>
Comments