簡體   English   中英

如何通過應用喚醒Android設備的Wifi或3G?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM