相关疑难解决方法(0)

如何判断"移动网络数据"是启用还是禁用(即使通过WiFi连接)?

我有一个应用程序,我希望能够用于从远程查询获取连接状态报告.

我想知道WiFi是否已连接,以及是否通过移动网络启用了数据访问.

如果WiFi超出范围,我想知道我是否可以依赖移动网络.

问题是当我通过WiFi连接时,启用的数据总是返回为真,并且我只能在未通过WiFi连接时正确查询移动网络.

我看到的所有答案建议轮询以查看当前的连接是什么,但我想知道我是否需要移动网络,即使我目前可能通过WiFi连接.

无论如何判断移动网络数据是否在没有轮询的情况下启用以查看是否已连接?

编辑

因此,当通过WiFi连接时如果我转到设置并取消选择"数据已启用",然后在我的应用程序中执行此操作:

 boolean mob_avail = 
 conMan.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).isAvailable();
Run Code Online (Sandbox Code Playgroud)

mob_avail返回为'true',但我已禁用移动网络数据,所以我希望它是'false'

如果我关闭WiFi,则(正确)没有连接,因为我已禁用移动网络数据.

那么当我通过WiFi连接时,如何检查移动网络数据是否已启用?

UPDATE

我按照ss1271的评论中的建议查看了getAllNetworkInfo()

我在以下3个条件下输出了有关移动网络的信息

WiFi关闭 - 移动数据

WiFi On - 移动数据关闭

WiFi On - 移动数据

并得到以下结果:

WiFi关闭:

mobile [HSUPA],state:CONNECTED/CONNECTED,reason:unknown,extra:internet,roaming:false,failover:false,isAvailable:true,featureId:-1,userDefault:false

WiFi On/Mobile OFF

NetworkInfo:type:mobile [HSUPA],state:DISCONNECTED/DISCONNECTED,reason:connectionDisabled,extra:(none),漫游:false,failover:false,isAvailable:true,featureId:-1,userDefault:false

WiFi On/Mobile On

NetworkInfo:type:mobile [HSPA],state:DISCONNECTED/DISCONNECTED,reason:connectionDisabled,extra:(none),漫游:false,failover:false,isAvailable:true,featureId:-1,userDefault:false

因此,您可以看到isAvailable每次都返回true,并且状态仅在WiFi处于影响状态时显示为Disconnected.

澄清

看,看看我的手机是目前移动网络连接.我AM试图建立用户是否已经启用了移动网络/禁用数据访问.他们可以通过转到设置 - >无线和网络设置 - >移动网络设置 - >数据启用来打开和关闭此功能

networking android network-connection

63
推荐指数
5
解决办法
8万
查看次数

有没有办法在iOS中以编程方式打开和关闭wifi?

我使用此链接上的代码完成蓝牙操作: 有没有办法在iOS中以编程方式打开和关闭蓝牙和/或wifi?

但我无法弄清楚如何为Wifi做同样的事情.你如何打开/关闭Wifi?可能吗 ?

iphone wifi ios

7
推荐指数
2
解决办法
2万
查看次数

使用swift跟踪蜂窝数据使用情况

有没有办法跟踪设备在swift中使用的蜂窝数据?有没有api?我正在努力实现这样的目标

ios swift xcode6

6
推荐指数
1
解决办法
3412
查看次数

标签 统计

ios ×2

android ×1

iphone ×1

network-connection ×1

networking ×1

swift ×1

wifi ×1

xcode6 ×1