2011-12-13 21 views
2

我想創建一個Android應用程序,它會做以下陷阱來電,打一個網絡服務,並在Android的「呼叫接收拒絕面板」上顯示響應?

  1. 陷阱/收聽來電事件(IM意識到這一步可能對SO,但爲了完整起見副本,即時通訊要求)

  2. 接管控制,並打一個Web服務(HTTP POST)從互聯網

  3. 得到一些信息,並顯示相同的頂部的「警報窗口小部件」「呼叫接受/拒絕按鈕」 ,通常是我們可以「接觸」聯繫人的地方。

基本問題是,是否可以開發Android股票這樣的應用程序?如果是的話,怎麼樣? 如果有什麼後果?

該解決方案應該從事的最新的Android版本,以及(起2.3,2.3已經打破了5月的應用程序依賴於機器人的私人電話服務API一個有爭議的補丁)

http://developer.android.com/reference/android/content/BroadcastReceiver.html指出,

在特別是,您可能無法在BroadcastReceiver中顯示對話框或綁定到來自 的服務。對於前者,您應改爲使用NotificationManager API 。對於後者,您可以使用 Context.startService()向服務發送命令。

回答

0

爲1)的一部分,你可以創建一個BroadcastReceiver和監聽

TelephonyManager#ACTION_PHONE_STATE_CHANGED行動。

這將處理您的通話事件。

對於2)部分需要編寫一個AsyncTask執行HttpPost行動到您的web服務。網上有很多關於如何執行HttpPost操作的教程。

現在,無論何時執行AsyncTask,您都有一個onPostExecute方法。在該方法中,您可以使用警報對話框進行顯示的第三部分。

希望它能幫助,

所有最優秀的

乾杯

+0

是否與Android 2.3的工作(和最新)起? 我已經經歷了很多SO辯論和其他線上材料,這是指私人電話api上有問題的補丁,它只允許系統應用程序訪問我們使用的這種用例。 –

+0

是的,你的正確的Android 2.3有一些問題。我發現這個問題:http://stackoverflow.com/questions/4715250/how-to-grant-modify-phone-state-permission-for-apps-ran-on-gingerbread。但無論如何,你可以嘗試在Android 2.2第一,直到那時的問題將得到解決:) –

相關問題