我需要通過htttp或https從android進行通信,並且我需要爲我的應用程序設置「wifi only」。這是溝通的限制。如何實現這樣的事情?我無法找到關於AndroidHttpClient的任何信息,只能使用Wifi或3G,以及如何限制它。僅限Wifi通信
Q
僅限Wifi通信
1
A
回答
2
此代碼將檢查無線連接。
public static boolean hasWIFIConnection(Context context)
{
ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo wifiNetwork = cm.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
if (wifiNetwork != null && wifiNetwork.isConnected())
{
return true;
}
return false;
}
2
我聽說在ConnectivityManager
服務setNetworkPreference(int preference)
方法。儘管文檔記載不完善,但看起來這種方法可以用於表示網絡類型的整數常量。
您可以找到ConnectivityManager類這樣的常量引用:
- TYPE_MOBILE
- TYPE_WIFI
- ...
我就開始挖掘這種方式。
編輯:
您將需要被授予如下因素權限:
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"></uses-permission>
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"></uses-permission>
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE"></uses-permission>
1
嘗試這樣
ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo[] netInfo = cm.getAllNetworkInfo();
for (NetworkInfo ni : netInfo)
{
if (ni.getTypeName().equalsIgnoreCase("WIFI"))
if (ni.isConnected())
haveConnectedWifi = true;
if (ni.getTypeName().equalsIgnoreCase("MOBILE"))
if (ni.isConnected())
haveConnectedMobile = true;}
+0
感謝所有的答案,這些都是很好的幫助。使用它們,我可以檢查是否有WiFi連接。但是我怎樣才能讓AndroidHttpClient使用WiFi呢?或者關心它是沒用的?如果沒有Wifi,只需顯示警報對話框並執行任何通信?在調用httpclient之前檢查這個條件,調用 –
+0
。如果wifi不可用,然後顯示警報,否則簡單地繼續。 – Senthil
0
從23 getNetworkInfo開始已被棄用,使用getActiveNetworkInfo
public boolean hasWIFIConnection()
{
ConnectivityManager connMgr = (ConnectivityManager) ContextProvider.getInstance().getApplication().getSystemService(Activity.CONNECTIVITY_SERVICE);
NetworkInfo activeNetwork = connMgr.getActiveNetworkInfo();
if (activeNetwork != null && (activeNetwork.getType() == ConnectivityManager.TYPE_WIFI) && activeNetwork.isConnected())
{
return true;
}
return false;
}
相關問題
- 1. PC-Android,wifi通信
- 2. 僅在2.4Ghz頻段掃描wifi信號
- 3. Arduino WiFi屏蔽不通信
- 4. Arduino Wifi盾不通信
- 5. 僅通過Wifi測試連接iOS
- 6. 如何僅通過WiFi發送數據
- 7. Android:僅通過WIFI發送數據
- 8. 限制網絡訪問只通過WiFi
- 9. 通過WiFi信號連接iPhone而無需加入WiFi網絡
- 10. OBD 2 iOS wifi快速通信
- 11. Wifi設備到設備通信問題
- 12. Android Wifi P2P通信多個設備
- 13. 僅通過短信分享
- 14. ACCESS_COARSE_LOCATION是否需要使用僅限WiFi的設備上的INTERNET?
- 15. Android - 如何知道設備是否僅限WiFi?
- 16. 如何設置Wifi wep密鑰,僅限programmlly?
- 17. 僅限WiFi版本的iPad應用程序?
- 18. 通用應用程序,僅限於@ 2x僅限於
- 19. 僅適用於WIFI的SyncAdapter
- 20. TCP Socket通信限制
- 21. 通過Wifi進行iPhone設備到設備通信
- 22. arduino和rails應用程序如何通過wifi進行通信?
- 23. 通過wifi進行通信的最有效方式
- 24. Android UDP通過本地wifi進行通信
- 25. Mac到iPhone應用程序通過WiFi進行通信
- 26. 啓用獲取WiFi詳細信息的權限 - Android棉花糖
- 27. 通過WIFI
- 28. 通過Wifi
- 29. 限制Android同步到WIFi
- 30. 限制Android WiFi流量
您可以檢查WIFI連接是否可用並相應地限制。 – Sandeep