2013-03-21 112 views
0

我有一個Ruby on Rails應用程序正在運行,它有一個電話號碼數據庫。我需要在5個不同的手機上運行應用程序,以便他們通過電話號碼從Rails服務器獲得通知(這是一個接一個地完成的,並不是所有的手機都能收到號碼)。在收到電話號碼後,應用會檢查是否有現有的電話。如果沒有呼叫,則撥打該號碼,否則將「電話忙」狀態發送回Rails服務器。通過Rails Server與Android應用程序通信 - 從應用程序發送數據到服務器?

我在想辦法做到這一點。我想出了App的一部分:我用Call Intent開始一個新的Activity,並在我的清單文件中設置適當的權限,我也可以使用Telephony Manager檢查狀態。

但我無法弄清楚通信部分。我首先想到了使用GCM的推送通知,然後我甚至從服務器讀到了我的應用的獨立TCP連接。

我的問題是:我無法弄清楚是否強制使用GCM,或者我可以通過實時通信解決這個問題?如果是,如何?

PS:只要將電話號碼添加到服務器上的數據庫,我想要發送通知。實時。

編輯22/03/13:

所以,我想GCM和建立我的Android應用程序和Rails服務器。我能夠使用'gcm'寶石几乎實時地發送推送通知。

我需要找出應用程序部分的響應。我需要通過呼叫成功/失敗通知確認號碼。如果可以,我怎麼能通過GCM來做到這一點?

+0

PS:只要將電話號碼添加到服務器上的數據庫,我想要發送通知。實時。爲此,我會建議推送通知「Android GCM」 – 2013-03-21 05:37:23

回答

0

我最終使用Google Cloud Messaging。它不完全可靠,並且不適用於某些Android手機,但是,我發現了一款​​適用的手機,並且適合我的使用情況。

我通過GCM將數字推送到應用程序,然後應用程序使用撥號意圖撥打電話。此外,撥號時還會通過異步帖子更新服務器上的電話和呼叫狀態。我爲此實現了一個PhoneStateListener。

同樣在使用github上的'gcm'gem時,我意識到gcm消息的響應是不正確的。很多次,它表示即使消息沒有被傳遞,答覆也是'成功'的。這是GCM不可靠的另一個原因。

0

我不明白你的問題。爲什麼不能簡單地創建添加號碼的事件並調用ROR的API併發送成功/失敗通知狀態。

如果你想把它添加到數據庫中,那很好,如果你想在基於Web的界面上添加一個通知,那完全是另一回事。使用網絡套接字或套接字IO

相關問題