Skip to content

A simple service for detecting wifi hotspots that ask for information (captive portals), and automatically showing the login page.

Notifications You must be signed in to change notification settings

zach-klippenstein/captivate

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Captivate

Captivate logo

Captivate is an Android app that does one very simple thing: whenever you connect to a wifi hotspot, it tries to determine if you are behind a captive portal. If you are, it shows a notification to let you quickly open the portal login page. If your session times out, Captivate will re-show the notification when you next turn on your screen.

It automates the process of opening a browser, trying to visit a webpage, getting redirected to the portal's login, then having to re-type the URL, or worse, go back to the app that opened the browser and re-share.

Test new features! Join the Captivate Testers Google+ Community to get access to beta versions of Captivate before they're released.

For developers: Captivate sends a broadcast intent whenever the portal state changes. See more below.

What's New

1.5.0

  • Removed built-in browser. Notification now launches default browser instead.
  • Support for Material theme.
  • Updated icon to look more like Material design.
  • Bumped minimum API level to 15 (ICS).
  • Removed ActionBarSherlock.

1.4.0

  • When signed in to a portal, session timeouts are automatically detected (check interval is currently fixed, will be configurable in a future update).
  • Added a link to rate the app in the settings screen.
  • Fixed Starbucks portals not being detected.
  • Updated ActionBarSherlock to version 4.3.1.

1.3.1

  • Hopefully fixed the crash when signin activity finished.

1.3.0

  • Better tablet experience (sign-in appears as dialog on screens 7" and up).
  • UI changes (dark ActionBar).
  • Updated ActionBarSherlock to 4.2.0.
  • Fixed recent false portal notifications.
  • Removed French and Turkish translations (too few installs to warrant maintaining).

1.2.1

  • Portal notification shows the favicon from the sign-in page.

1.2.0

  • Tapping on the portal notification now launches a custom browser window which automatically closes when the portal is signed in.
  • Added support for the ICS prettiness!

1.1.1

  • Fixed some portal detection bugs.

1.1.0

  • Captivate is now more intelligent -- it automatically detects when you're logged into a portal, and if your session times out.
  • Portal detection can be disabled in the settings.
  • Spanish, Turkish, and French translations (thanks to Google Translate, so I can't vouch for their quality).

1.0.0

  • Initial release.

Download

Get it on Google Play

Developers

Whenever Captivate detects a portal, or a portal signin, or timeout, or anything, it broadcasts the intent com.zachklipp.captivate.intent.ACTION_PORTAL_STATE_CHANGED. It includes two extras containing the current portal state, and information about the portal. The intent and extra names as of v1.1.0 are defined around here.

  • com.zachklipp.captivate.intent.EXTRA_PORTAL_STATE One of the following (self-explanatory) strings (defined, as of v1.1.0, here):

    • unknown
    • no_portal
    • signin_required
    • signing_in (currently not used)
    • signed_in
  • com.zachklipp.captivate.intent.EXTRA_PORTAL_URL A string URL that will take the user to the login page. As of v1.1.0, it only contains the URL used to check for redirects, so it's not the actual URL of the portal sign-in page. This is planned for the future (see issue #9).

To receive the intent, you must request permission com.zachklipp.captivate.permission.ACCESS_PORTAL_STATE.

About

A simple service for detecting wifi hotspots that ask for information (captive portals), and automatically showing the login page.

Resources

Stars

Watchers

Forks

Packages

No packages published