Android App中的强制门户

Pra*_*tik 5 android captivenetwork captiveportal

任何人都可以建议如何在Android应用程序内打开强制网络门户?

我已经通过以下链接 https://developer.android.com/reference/android/net/CaptivePortal.html 使用ACTION_CAPTIVE_PORTAL_SIGN_IN

任何人都可以有完整的指南在Android应用程序中使用强制网络门户?

Nis*_*Edu 5

以下是推动俘获门户的流程

在此输入图像描述

使用以下android doc编程部分

https://developer.android.com/reference/android/net/CaptivePortal.html

认为这将有用


Ham*_*ian 5

WifiPortalAutoLog是您可以使用的示例项目

正如这个答案中所描述的:这是一个示例场景:

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

MainActivity中,您可以访问以下内容中提到的附加功能ConnectionManager.ACTION_CAPTIVE_PORTAL_SIGN_IN

if (ConnectivityManager.ACTION_CAPTIVE_PORTAL_SIGN_IN.equals(intent.getAction())) {
Run Code Online (Sandbox Code Playgroud)

从捆绑中获取以captivePortal与系统通信有关登录结果的信息:

captivePortal = intent.getParcelableExtra(ConnectivityManager.EXTRA_CAPTIVE_PORTAL);
Run Code Online (Sandbox Code Playgroud)

使用 ConnectivityManager.EXTRA_NETWORK extra(其类型为 Network)与门户通信(即传递登录令牌):

net = intent.getParcelableExtra(ConnectivityManager.EXTRA_NETWORK);
Run Code Online (Sandbox Code Playgroud)

加载 urlWebView并记住在清单中设置意图过滤器:

<activity android:name=".MainActivity">
        <intent-filter>
            <action android:name="android.net.conn.CAPTIVE_PORTAL" />
            <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>
</activity>
Run Code Online (Sandbox Code Playgroud)