有人可以建议如何在Android应用程序中打开强制网站吗?
我已经通过以下链接 https://developer.android.com/reference/android/net/CaptivePortal.html Using ACTION_CAPTIVE_PORTAL_SIGN_IN
任何人都可以获得在Android应用程序中使用强制门户的完整指南吗?
答案 0 :(得分:5)
以下是推动俘获门户的流程
使用以下android doc编程部分
https://developer.android.com/reference/android/net/CaptivePortal.html
认为这很有用
答案 1 :(得分:4)
WifiPortalAutoLog是您可以使用的示例项目
如此answer中所述: 以下是一个示例场景:
在MainActivity中您可以访问 ConnectionManager.ACTION_CAPTIVE_PORTAL_SIGN_IN
中提到的其他内容:
if (ConnectivityManager.ACTION_CAPTIVE_PORTAL_SIGN_IN.equals(intent.getAction())) {
从包中获取captivePortal
以与系统沟通有关登录结果的信息:
captivePortal = intent.getParcelableExtra(ConnectivityManager.EXTRA_CAPTIVE_PORTAL);
使用ConnectivityManager.EXTRA_NETWORK extra(具有类型Network)与门户网站通信(即传递登录令牌):
net = intent.getParcelableExtra(ConnectivityManager.EXTRA_NETWORK);
在WebView
中加载网址并记住清单中的设置意图过滤器:
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.net.conn.CAPTIVE_PORTAL" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
答案 2 :(得分:0)
对于强制门户,所有android设备均无法正常工作。您需要根据您的应用要求进行检查。三星通过将门户重定向到其系统来使用android强制门户网站机制,在内部进行处理并阻止其他强制门户请求并在其自己的浏览器上显示。像三星一样,华为等其他一些供应商也使用他们自己的机制,只有Oneplus,Mi,Htc等其他厂商使用默认机制,因此可以使用门户网站意图过滤器重定向到应用程序,而其他应用程序则不能。
<intent-filter>
<action android:name="android.net.conn.CAPTIVE_PORTAL"/>
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
一个链接清楚地说明了这一点: