1

Android用のサーバーWebSocketベースのアプリケーションを開発していますが、通常は正しく機能しません。失敗してPCからデバイスにpingを実行しようとすると、アクセスできません。デバイスをリセットするか、機内モードをオンにしてからもう一度オフにする必要があります。次に、pingコマンドを使用してデバイスにアクセスでき、サーバーは正常に機能します。

なにか提案を?ありがとう。

編集:ここで解決策を見つけました:http: //www.framentos.com/en/android-tutorial/2012/02/27/how-to-prevent-wi-fi-sleep-on-android/

import android.net.wifi.WifiManager;
import android.net.wifi.WifiManager.WifiLock;


WifiManager wifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE);
WifiLock lock = wifiManager.createWifiLock(WifiManager.WIFI_MODE_FULL_HIGH_PERF, "LockTag");
lock.acquire();

再度編集...

いいえ、動作すると思いましたが、動作しません...

4

1 に答える 1

0

アプリケーションで、デバイスで Wifi が有効になっていることを確認する必要がある場合があります。プログラムで有効にすることはできませんが、ユーザーが有効にできるようにワイヤレス設定メニューを開くことができます。ネットワーク接続があるかどうかを検出するには、次のコードを使用できます。

ConnectivityManager connectivityManager  
                = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); 

NetworkInfo activeNetworkInfo = connectivityManager.getActiveNetworkInfo(); 

if(activeNetworkInfo != null && activeNetworkInfo.isConnected()) {
    // There is a connection
    ...
}
else {
    // No connection; open the wireless settings menu
    startActivity(new Intent(android.provider.Settings.ACTION_WIRELESS_SETTINGS));
    ...
}

マニフェストには次の権限も必要です。

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
<uses-permission android:name="android.permission.INTERNET" />
于 2012-12-19T00:23:56.393 に答える