【发布时间】:2019-08-15 22:15:53
【问题描述】:
我想设置一个可以选择用于导航强制门户的活动。
当我选择一个强制的 WiFi 网络时,我希望能够选择我的应用作为处理程序,而不是启动预装在每部 Android 手机上的 CaptivePortalLogin 应用。
这适用于 Pixel 2 和 OnePlus 6t,但不适用于我在这里放置的任何三星手机(S10 (9.0.0)、S8 (8.0.0)、A6 (8.0.0) ))。在三星手机上,它会立即打开 CaptivePortalLogin 应用程序。
CaptivePortalLogin 应用未设置为三星手机上的默认应用。
我已经以标准方式设置了活动:
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
<intent-filter>
<action android:name="android.net.conn.CAPTIVE_PORTAL"/>
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
</activity>
有没有办法让三星手机的行为与所有其他手机一样?
【问题讨论】:
-
AFAIK 强制门户对三星安卓的工作方式不同。它们不通过使用用户意图的 302 重定向工作,而是通过访问 /generate_204。因此,他们不需要依赖强制门户意图。
标签: android intentfilter samsung-mobile captivenetwork captiveportal