我需要通过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