2

我有一个我在开发中使用的三星 6.0.1。我想知道网络是否是强制门户。最近发生了一些变化,使开发人员知道此信息,这很好。但似乎没有办法只从 NetworkInfo 中检索数据。

我发现,如果我可以使用 Wi-Fi NetworkInfo 的实例,我可以调用 getExtraInfo,并且强制门户的指示将作为字符串“captive_portal_detected”出现在其中,这很奇怪,这是一个字符串而不是布尔属性,但这不是我的问题。

这个字符串是什么版本的 Android 开始弹出的,这是常规操作系统的一部分还是三星人为 s7 弹出的东西?我可以依赖这个字符串作为与 NetworkInfo 关联的接入点实际上是强制门户的指示符吗?我在任何地方都找不到关于这个值的文档。

4

1 回答 1

2

在文档中,它告诉 getExtraInfo 方法的返回返回由较低网络层提供的信息:http: //developer.android.com/intl/pt-br/reference/android/net/NetworkInfo.html#getExtraInfo( )

因此,如果 getExtraInfo 如果它位于由网络硬件确定的强制门户中将返回,我建议您避免依赖于确定的硬件。

以下是如何发现用户是否在强制门户中的示例:如何检查不受限制的 Internet 访问?(强制门户检测)

于 2016-05-07T19:38:07.757 回答