2015-10-29 10 views
6

Android M obsługuje nowy ACTION_CAPTIVE_PORTAL_SIGN_IN. Czy jest dostępna jakaś próbka dotycząca przechwytywania tej akcji. Próbowałem w normalny sposób zarejestrować się w akcji zarówno w ramach aktywności, jak i za pośrednictwem odbiornika telewizyjnego. Jednak gdy jestem połączony z siecią Wi-Fi portalu przechwytującego, nie otrzymuję akcji. Ktoś proszę o pomocUżywanie ACTION_CAPTIVE_PORTAL_SIGN_IN

Odpowiedz

8

Może być stosowany w celu umożliwienia aplikacja do wykonywania portal znak Wi-Fi w Zakładając, że masz coś takiego w swoim manifeście.

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

Oto co może się zdarzyć:

  1. Urządzenie łączy się portal Wi-Fi
  2. system wyświetla powiadomienie Captive Portal
  3. użytkownik dotyka powiadomienie
  4. system wyświetla niejawna intencyjny aplikację Chooser
  5. użytkownik wybierze SignInActivity
  6. SignInActivity jest uruchomiona

może uzyskać dostęp do dodatków, o których mowa w ConnectionManager.ACTION_CAPTIVE_PORTAL_SIGN_IN użyciu getIntent() i getParcelableExtra(). Użyj ConnectivityManager.EXTRA_NETWORK dodatkowy (który typ Network) do komunikowania się z portalem (tj wprost Zaloguj się żetony), a ConnectivityManager.EXTRA_CAPTIVE_PORTAL dodatkowy (który ma typ CaptivePortal) do komunikowania się z systemem o wynikach logowania.