[英]How to awake the Wifi or 3G of an Android device by app?
我正在為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();
再次編輯...
不,我想這可以用,但是沒用...
您可能希望應用程序確保在設備上啟用了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" />
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.