Using ACTION_CAPTIVE_PORTAL_SIGN_IN

[亡魂溺海] 提交于 2019-12-04 12:17:40

问题


The Android M supports a new ACTION_CAPTIVE_PORTAL_SIGN_IN. Is there any sample available on how to capture this action. I tried with the normal way of registering for an action in both through the activity and through the broadcast receiver. However when I am connected with the captive portal wifi network, I am not receiving the actions. Someone please help


回答1:


It can be used to allow your app to perform captive portal Wi-Fi sign in. Assuming you have something like this in your manifest:

<activity android:name=".SignInActivity">
    <intent-filter>
        <action android:name="android.net.conn.CAPTIVE_PORTAL"/>
        <category android:name="android.intent.category.DEFAULT"/>
    </intent-filter>
</activity>

Here is what can happen:

  1. Device connects to captive Wi-Fi portal
  2. System displays a captive portal notification
  3. User touches the notification
  4. System displays the implicit intent app chooser
  5. User selects SignInActivity
  6. SignInActivity is launched

You may access the extras mentioned in the ConnectionManager.ACTION_CAPTIVE_PORTAL_SIGN_IN using getIntent() and getParcelableExtra(). Use the ConnectivityManager.EXTRA_NETWORK extra (which has type Network) to communicate with the portal (i.e. pass sign in tokens), and the ConnectivityManager.EXTRA_CAPTIVE_PORTAL extra (which has type CaptivePortal) to communicate with the system about the outcome of the sign in.



来源:https://stackoverflow.com/questions/33426533/using-action-captive-portal-sign-in

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!