1
leafre 2019-04-22 11:11:12 +08:00
我觉得跟你觉得一样
|
2
Tianao 2019-04-22 11:13:43 +08:00 via iPhone
我猜是根据 SSID 的个人热点属性。
|
3
binux 2019-04-22 11:14:56 +08:00 2
因为连上 wifi 的时候,wifi 就会告诉你,它自己是个无线热点( portable hotspot )。
|
5
gramyang 2019-04-22 11:17:13 +08:00 via Android
你问这个问题肯定是没有 google 过的,安卓自带接口可以检查当前网络是 2g 还是 3g 还是 4g 还是 wifi
|
6
passerbytiny 2019-04-22 11:17:33 +08:00
这东西难道不是系统提供的吗,而且还很有可能不是主动检测而是事件监听。
而且也不一定要客户端检测,服务器也可以检测到之后再推送给客户端。 |
7
lion9527 2019-04-22 11:17:48 +08:00
我感觉这个属于自作聪明的过度设计,也没有关闭的选项,非常恶心人。
|
8
yksoft1ex OP |
9
shehuizhuyi 2019-04-22 11:20:30 +08:00
@gramyang 是连接 wifi 之后 提示可能是收费 wifi
|
10
binux 2019-04-22 11:23:19 +08:00
@yksoft1ex #7 反正 MIUI 是可以设置 device identification 的,还有 iOS 当然能识别安卓的共享热点。
|
12
yksoft1ex OP @binux ConnectivityManager.isActiveNetworkMetered() 能获得当前连接的热点是否被用户自己设置为计费 Wifi,但没说这个属性能被自动检测出来。
|
13
whileFalse 2019-04-22 12:41:08 +08:00
如果能获得路由器 mac 地址,可以根据这些 mac 地址反查对应的设备提供商。
|
14
Love4Taylor 2019-04-22 13:06:23 +08:00
Android 本身是有自动识别计费 WiFi 功能的. 或许看看 AOSP 相关部分?
|
15
0x4F5DA2 2019-04-22 13:06:48 +08:00 via iPhone
安卓 SDK 里有接口,网络变动还有事件可以监听
|
16
yksoft1ex OP @whileFalse 这个要求定位权限吧?另外,很多山寨的安卓机里面各种信息包括 IMEI、MAC 都是可以改的。
@0x4F5DA2 @Love4Taylor ConnectivityManager.isActiveNetworkMetered() 能获得当前连接的热点是否被用户自己设置为计费 Wifi,但没说这个属性能被系统自动检测出来。 |
17
nanaw 2019-04-22 13:36:18 +08:00 via Android
@whileFalse 说到 mac 地址,都 9102 年了 Android P 应用居然还可以不需要权限取得本机 mac,真不知道 Google 是怎么想的
|
18
phy25 2019-04-23 03:17:17 +08:00 via Android
|
20
catalina 2019-04-23 11:02:48 +08:00 via Android
不不不,不太对,并不是读取的“是 wifi 还是 xg 还是移动热点”。
我在一个收费 wifi(不是蜂窝数据这类的,是我们学校的公共热点,每个月流量有限,ip172.20.18.0/24)下使用 b 站,它还是会弹出来“可能是收费 wifi ”。 appops 检测到了它使用了 wifi_scan 权限。但禁止后重启 b 站 app,它还是提示了,所以也不是这个。 话说,番剧页面就没有这个提示哎? |
21
luckycatio 2019-07-15 08:04:26 +08:00 via Android
@binux 他把我家的 wifi 识别成了收费 wifi,我家的 ip 端是 10.0.0.1
|