Suite de mon precedant artcile sur la creation d’un widget android :
http://djynet.net/?p=585
J’ai décidé d’ajouter un bouton supplémentaire pour changer l’état du wifi sur le téléphone. La premiere etape est d’ajouter la possibilite de controler le widi depuis notre application en ajoutant les permissions dans le manifest :
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /> <uses-permission android:name="android.permission.WAKE_LOCK" />
Puis ajouter un bouton dans le layout du widget :
<Button android:id="@ id/sync_button2" android:layout_width="40dp" android:layout_height="match_parent" android:background="@color/green" android:text="@string/button1" android:layout_toLeftOf="@ id/sync_button"/>
Il est ensuite possible d’utiliser la classe android “wifimanager” pour intergair avec le module wifi.
import android.net.wifi.WifiManager; ... WifiManager wifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE); if (wifiManager.isWifiEnabled()) { wifiManager.setWifiEnabled(false); } else { wifiManager.setWifiEnabled(true); }
Dans notre cas on utilisera un event/broadcast pour déclenché cette action. Il s’agit du même type de code utilise dans mon article précédant.
L’ensemble du code est disponible sur Bitbucket :
https://charly37@bitbucket.org/charly37/wifi3gstarterv2