我需要通過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. Android:僅通過WIFI發送數據
- 2. 通過WiFi信號連接iPhone而無需加入WiFi網絡
- 3. Wifi設備到設備通信問題
- 4. 僅通過短信分享
- 5. 僅限WiFi版本的iPad應用程序?
- 6. 如何設置Wifi wep密鑰,僅限programmlly?
- 7. 僅適用於WIFI的SyncAdapter
- 8. TCP Socket通信限制
- 9. 通過Wifi進行iPhone設備到設備通信
- 10. Mac到iPhone應用程序通過WiFi進行通信
- 11. 啓用獲取WiFi詳細信息的權限 - Android棉花糖
- 12. 通過Wifi
- 13. Android Wifi信號強度
- 14. 通過Wifi推送通知
- 15. 通過WiFi推送通知
- 16. 如何僅通過信函列出?
- 17. iOS WiFi通知API
- 18. 的AdWhirl,通過WiFi
- 19. 通過wifi使用ADB無需root權限
- 20. 兩個Android之間沒有公共IP的WiFi語音通信?
- 21. 是否可以在iPhone上進行流媒體WiFi通信?
- 22. 通過wifi(lan?)實現Flash實時信息連接
- 23. 是否可以通過WIFI在Android上發送短信?
- 24. 在同一臺路由器上的Android wifi設備通信
- 25. 在Wifi局域網中進行通信,Android
- 26. 通過瀏覽器獲取wifi詳細信息
- 27. 在Android平臺上與wifi-direct進行客戶/同行通信
- 28. Android通過wifi服務向服務器發送信息
- 29. 請提出Android WiFi Direct是否支持Multicast Socket通信
- 30. 如何在wifi直接網絡中實現組間通信?
您可以檢查WIFI連接是否可用並相應地限制。 – Sandeep