我需要在android中检测是否有任何连接Wifi或3G(或3G+)或EDGE在android中.当有连接wifi或3G我可以发送照片到服务器,何时只是一个连接EDGE不发送到服务器.
我看到可以检测到wifi连接ConnectivityManager.TYPE_WIFI,ConnectivityManager.TYPE_MOBILE并且TelephonyManager.NETWORK_TYPE_EDGE可以检测到EDGE连接.但怎样才能检测到3G或3G +?
假设我有一个TCP连接,在我的3G网络上进行大量数据传输; 然后我走回家,Android自动切换到我的家庭Wifi.现在连接发生了什么?它只是断开连接?或者它会继续下去,只有新的连接将使用wifi?
另外,如果我离开家,wifi丢失信号并切换到3g怎么办?猜测连接被丢弃应该是安全的.对于我的应用程序,我是否需要处理重新连接或有自动回退解决方案?
提前致谢.
宏博
我特别询问移动网页上的javascript,而不是Objective-c应用程序.是否有类似Apple Reachability的javascript,所以我可以告诉Edge,3G或Wifi连接何时建立或更改?
我需要检索iOS 5.1(iPhone 4S)中当前服务细胞塔的CellID,MCC,MNC,LAC和网络(GSM,3G).我知道这些信息是可用的,因为我可以在FieldTest模式下看到它(在调用****3001#12345#****后可访问).我想它可以通过私有/未记录的iOS框架访问.
在问题iphone中,检查cellId/Lac的值,作者表示我可以在iOS上获取无线电信息cellId,Lac,MNC,MCC,但是没有提供有关如何执行此操作的信息.
谁能告诉我如何获取这些信息?
如何确定iOS连接类型?
我想知道我的设备上是否有Edge,3G,4G或者Wifi可用.
这个信息我需要加载不同大小的不同数据.
因此,我不想加载连接类型为"Edge"的4 MB图像.
对于每个APP的统计网络流量,我现在使用的是Android TrafficStats
我可以获得如下结果:
据我所知,"Android Trafficstats"只是一个指向ac文件的本机指针.(也许是.so?)
但它混合了Wifi和3g流量,有没有办法只获得非WiFi流量统计?
我有一个无线局域网设置,没有互联网接入.只是连接到它的各种其他本地WiFi设备.DHCP配置为不返回网关或DNS服务器.只有IP和网络掩码.
当我将我的机器人连接到这个无线网络AP它连接正常,但手机上的所有互联网连接都停止工作.
我希望由于wifi没有网关设置,android应该意识到互联网无法通过该连接,而应该通过3G连接进行路由.
我也尝试在Android手机上设置静态IP,但这没有用.
这种设置的主要原因是Android设备可以将这个远程网络上的数据传输到基于互联网的服务器,因为它可以毫无问题地连接到本地设备.然而,一旦设置了wifi,3G侧就会被打破.
关于如何解决这个问题的任何想法?
如何以编程方式在Android设备上检查该网络是否可用,当我们尝试连接Wifi和3G等网络时,会抛出消息或Toast消息.
看起来好像我们可以在7之前确定iOS上的无线接入技术....如果我错了,请纠正我.
考虑到iOS 7中可用的以下常量,有人可以验证哪个常量映射到通用标准2G,3G,4G,LTE等?
CORETELEPHONY_EXTERN NSString * const CTRadioAccessTechnologyGPRS __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_7_0);
CORETELEPHONY_EXTERN NSString * const CTRadioAccessTechnologyEdge __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_7_0);
CORETELEPHONY_EXTERN NSString * const CTRadioAccessTechnologyWCDMA __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_7_0);
CORETELEPHONY_EXTERN NSString * const CTRadioAccessTechnologyHSDPA __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_7_0);
CORETELEPHONY_EXTERN NSString * const CTRadioAccessTechnologyHSUPA __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_7_0);
CORETELEPHONY_EXTERN NSString * const CTRadioAccessTechnologyCDMA1x __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_7_0);
CORETELEPHONY_EXTERN NSString * const CTRadioAccessTechnologyCDMAEVDORev0 __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_7_0);
CORETELEPHONY_EXTERN NSString * const CTRadioAccessTechnologyCDMAEVDORevA __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_7_0);
CORETELEPHONY_EXTERN NSString * const CTRadioAccessTechnologyCDMAEVDORevB __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_7_0);
CORETELEPHONY_EXTERN NSString * const CTRadioAccessTechnologyeHRPD __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_7_0);
CORETELEPHONY_EXTERN NSString * const CTRadioAccessTechnologyLTE __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_7_0);
Run Code Online (Sandbox Code Playgroud) 我正在写一个旅行指南相关的应用程序,它将下载大型数据库(60meg)可能在海外,我可以告诉可通过wifi或3g可以访问主机的可达性代码但我担心如果由于某种原因wifi连接中断一段时间左右,因为有些DSL连接可能会偶尔进行,iphone将透明地切换到3G,而且没有意识到我可能会收到海外数据费用的电话账单!
所以我想知道是否有人有任何经验,如果wifi连接中断(wifi仍然有效,但它与网络的连接已关闭)可达性代码报告ReachableViaWWAN?所以我可以等到我的下载代码返回,检查主机当前是如何可以访问的,如果它是通过3g我可以中止?
是否可以选择我可以使用的连接类型3g或wifi?
3g ×10
wifi ×6
android ×5
ios ×4
4g ×2
cellid ×1
gsm ×1
iphone ×1
javascript ×1
lte ×1
networking ×1
reachability ×1
safari ×1
swift ×1
traffic ×1