6

Android M 支持新的ACTION_CAPTIVE_PORTAL_SIGN_IN。是否有任何关于如何捕获此操作的示例。我尝试了通过活动和广播接收器注册动作的正常方式。但是,当我连接到强制门户 wifi 网络时,我没有收到操作。有人请帮忙

4

1 回答 1

8

它可用于允许您的应用执行强制门户 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>

以下是可能发生的情况:

  1. 设备连接到强制 Wi-Fi 门户
  2. 系统显示强制门户通知
  3. 用户触摸通知
  4. 系统显示隐式意图应用程序选择器
  5. 用户选择SignInActivity
  6. SignInActivity推出

ConnectionManager.ACTION_CAPTIVE_PORTAL_SIGN_IN您可以访问usinggetIntent()和中提到的附加功能getParcelableExtra()。使用ConnectivityManager.EXTRA_NETWORKextra(具有 type Network)与门户通信(传递登录令牌),使用ConnectivityManager.EXTRA_CAPTIVE_PORTALextra(具有 type CaptivePortal)与系统就登录结果进行通信。

于 2015-11-19T16:02:08.077 回答