2013-02-13 140 views
1

我正在開發一個Android應用程序,該應用程序在點擊時具有一個用於初始化電話的按鈕。android:在接聽電話時在後臺撥打電話

我想檢測何時接聽電話,並自動將本地電話應用程序置於後臺並再次顯示我的應用程序。同時,通話電話在後臺運行。

結果必須看起來像當您單擊智能手機的後退按鈕時,或者在通話電話正在進行時手動打開我的應用程序。但是這應該在不按任何按鈕的情況下自動完成。

我知道,當呼叫狀態正在響鈴,摘機或閒置時,我有呼叫監聽器執行某些操作,但問題是將呼叫應用程序從我的應用程序放入後臺。

順序:

  1. 用戶點擊我的應用程序按鈕啓動機應用程序(Android版)。
  2. 電話開始(通話狀態:振鈴)。
  3. 電話摘機(通話狀態:摘機)。
  4. 自動,我的應用程序檢測到它,並將本地電話應用程序放在後臺並將我的應用程序放在前臺。

是否有可能以及如何做到這一點?

+0

不要以爲你可以。一旦調用者啓動它接管,你不能控制自己。 – 2013-02-13 16:23:37

+0

是的,這也是我的想法。但也許有一些方法可以做到這一點。 – oriolparra 2013-02-13 16:25:55

回答

0

創建一個後臺服務並實現BroadcastReceivers來監聽呼叫狀態觸發器。

+0

我已經這樣做了,我可以聽通話狀態,但問題是我的應用程序在前臺。 – oriolparra 2013-04-18 10:12:09

0

在使用Activity啓動回答調用後,您可以將您的應用放在前臺。

Intent i = getBaseContext().getPackageManager() 
         .getLaunchIntentForPackage(
           getBaseContext().getPackageName()); 
i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
startActivity(i); 

現在的問題是,在啓動活動將是一個新的活動(這將清除所有以前的活動 - 沒有這些標誌也不會從呼叫屏幕返回回)。 我不知道我該如何回到已經在後臺工作的活動。

+0

我需要在後臺返回工作活動... – oriolparra 2014-04-04 13:10:09