2017-08-10 6 views
0

Le problème: J'ai une montre Huawei avec Android Wear 2.0. Mon application devrait envoyer des données via le WiFi, mais la montre se déconnecte du Wifi très rapidement. Comment puis-je garder la montre connectée au Wifi?Garder le wifi connecté sur Android Wear

Manifest:

<uses-feature android:name="android.hardware.wifi" /> 

<uses-permission android:name="android.permission.WAKE_LOCK" /> 
<uses-permission android:name="android.permission.INTERNET" /> 
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /> 
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> 

Dans l'activité:

public static void keepWiFiOn(Context context, boolean on) { 
    if (wifiLock == null) { 
     WifiManager wm = (WifiManager) context.getSystemService(Context.WIFI_SERVICE); 
     if (wm != null) { 
      wifiLock = wm.createWifiLock(WifiManager.WIFI_MODE_FULL, TAG); 
      wifiLock.setReferenceCounted(true); 
     } 
    } 
    if (wifiLock != null) { // May be null if wm is null 
     if (on) { 
      wifiLock.acquire(); 
      Log.d(TAG, "Acquired WiFi lock"); 
     } else if (wifiLock.isHeld()) { 
      wifiLock.release(); 
      Log.d(TAG, "Released WiFi lock"); 
     } 
    } 
} 

Le verrou WiFi est acquis, mais les données envoie ne sont pas reçues de l'autre côté néanmoins.

+0

Y at-il des journaux d'erreurs qui pourraient donner un indice de la déconnexion? – noogui

+0

@noogui Malheureusement pas. Lorsque je me connecte au wifi dans le menu des paramètres et qu'il est connecté, je lance l'application et quitte l'application pour revenir à l'écran des paramètres, puis le wifi s'avère être déconnecté –

Répondre

0

Il est possible d'empêcher ce comportement de «sauvegarde de la batterie» dans les préférences de l'appareil. Dans ce cas, vous activez ce mode dans les préférences et désactivez la connexion entre portable et portatif (par exemple, désactivez bluetooth).

Ceci n'est pas possible avec votre code.