2012-10-23 75 views
0

在我工作的健身房裏,他們有一個開放的wifi接入點。它的設置方式,一旦你「連接」,你必須導航到一個網頁(它是一個1.1.X.X的IP地址),並在推測讀取用戶協議後點擊「我同意」按鈕。問題是,他們設置了每小時登出一次,這總是發生在我的鍛鍊中。我記住了SSID,所以當我進入範圍時它會自動連接,但我得到一個android通知,需要進一步的操作才能完全連接。Android設計應用程序讓我登錄wifi接入點

我想知道的是,如果有解決方法,我不必每個小時點擊一次?我正在考慮編寫一款應用程序,它可以檢測我在什麼時間範圍內,或何時「半連接」,然後以某種方式完成註冊過程。也許這將需要通過加載網頁在內存中,然後以某種方式點擊「我同意」按鈕。

我想幫什麼用是:

1)這裏所涉及的術語?我連接時的連接狀態是什麼,但我沒有點擊過?其他連接狀態可能適用於哪些?如果我知道這一點,我可能只是能夠研究這個問題並提出一個解決方案。這些不同的狀態是「可檢測的」嗎?看起來好像是因爲我收到通知,說我需要在「半連接」時完成註冊過程。

2)我知道有些桌面瀏覽器的插件可以點擊按鈕(比如keepass插件,它會將您登錄到網站)。我怎麼能在Android中複製這個?理想情況下,我想在內部執行此操作,而不是啓動瀏覽器。可能?註釋?我的理解和思考過程在這裏發聲,還是我忽略了一些東西?

回答

1

Get buff buff!開玩笑...下一次你在那個網頁上時,確保你抓住它的html源代碼。如果您查看單擊按鈕發送的POST數據,您可能會使用計時器自己發送數據,或者使用智能手段檢測是否完全連接到無線網絡。你可以聽你的應用程序的WiFi狀態變化,然後做出相應的反應。 List of wifi states

我知道Jsoup支持使用數據(鍵,值)方法..

事後數據發送到一個網站。

Jsoup.connect("www.somewebsite.com").data("username", "dymmeh").get(); 

再次,這取決於他們的設置如何配置。它可能無法通過發佈數據完成。

另一種方式是通過的WebView加載網站,找到「同意」按鈕,並通過JavaScript點擊它..

只是一些想法..這一切的實現將下降到你。

+0

這是一個好的開始,以及一些很棒的想法。我將把問題留作「未回答」,看看是否有其他想法進來。我看了一下wifi狀態列表,我沒有看到任何看起來像半連接狀態的東西。你有沒有更多的細節(如真正被稱爲)?很難搜索它,因爲我不知道它叫什麼。 – MrGibbage

+0

通過wifi狀態閱讀後,我不認爲他們會幫助。我發現這「哪些」可能會有一些幫助 - [如何檢查WiFi是通過網頁登錄?](http://stackoverflow.com/questions/4577926/how-to-check-wifi-is-pass-通網頁登錄) – dymmeh