3

毎晩目を覚まし、一部のデータをサーバーと同期する Android アプリケーションがあります。デバイスが一定時間使用されていない (または画面がオフになっている) 後に WiFi をスリープ モードにした場合、Wifi を起動して同期を行い、スリープ モードに戻ることができるようにする方法が必要です。だからここに私が見つけたものがあります:

Wifi がスリープ モードの場合、(dumpsys によって) wifi がまだ有効になっていることがわかりますが、runState は停止しています。したがって、私のコードでは、次のようなことをします

    WifiManager wManager = (WifiManager)mContext.getSystemService(Context.WIFI_SERVICE);
wManager.setWifiEnabled(true); 
    boolean connect = wManager.reconnect(); 
    Log.d(TAG, "connect " + connect);

スリープ中でも有効になっているため、 setWifiEnabled(true) は必要ないと思います。しかし、私はとにかくそれをしました、そして害はありません。ただし、reconnect は常に false を返します。これは、wifi に再接続できないことを意味します。もちろん、dumpsys はまだ runState が Stopped であることを示しています。

誰かがこの問題について私を助けてくれますか? Wifi を起動して接続を確立するための正しい手順は何ですか?

前もって感謝します!

4

1 に答える 1

0

通常、デバイスがスリープモードにある場合、実際にウェイクアップする唯一の方法は、ウェイクロックを取得することです...ウェイクロックにはいくつかの種類があります。ここでそれについて読むことができます...

お役に立てれば...

于 2013-03-23T21:11:57.253 に答える