Android M支持新的ACTION_CAPTIVE_PORTAL_SIGN_IN。是否有关于如何捕获此操作的示例。我尝试了通过活动和广播接收器注册动作的正常方式。然而,当我连接到专属门户wifi网络时,我不会收到操作。有人请帮助
它可以用来让你的应用程序执行捕获门户Wi-Fi登录。假设你的清单中有这样的东西:
<activity android:name=".SignInActivity">
<intent-filter>
<action android:name="android.net.conn.CAPTIVE_PORTAL"/>
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
</activity>
以下是可能发生的情况:
- 设备连接到专用Wi-Fi入口
- 系统显示专属门户通知
- 用户触摸通知
- 系统显示隐含意图应用程序选择器
- 用户选择
SignInActivity
SignInActivity
启动
您可以使用getIntent()
和getParcelableExtra()
访问ConnectionManager.ACTION_CAPTIVE_PORTAL_SIGN_IN
中提到的附加内容。使用ConnectivityManager.EXTRA_NETWORK
extra(类型为Network
)与门户进行通信(即传递登录令牌),使用ConnectivityManager.EXTRA_CAPTIVE_PORTAL
extra(型号为CaptivePortal
)与系统就登录结果进行通信。