2013-09-23 45 views
0

我想要做的是讓用戶從應用程序調用一個數字。我使用下面的代碼來調用這個數字。但是,當我在調用過程中按下返回按鈕時,它會把我的主頁而不是返回到調用應用程序的應用程序的前一個屏幕中。請看看代碼,如果有人有解決方案,請幫助我。在主屏幕上按下後退按鈕將用戶指向主頁。任何解決方案

PhoneArguments callArgs = new PhoneArguments(
    PhoneArguments.ARG_CALL, "+27 83 111 1234"); 
Invoke.invokeApplication(Invoke.APP_TYPE_PHONE, callArgs); 

任何幫助,將不勝感激。謝謝。

+0

那是因爲您正在調用系統功能。如果斷開呼叫然後按下後退按鈕,它將轉到您調用應用程序的應用程序的上一個屏幕。 – Signare

+1

@SureshSharma - 你的代碼在調用之後做了什麼?我認爲這是調用後的代碼可能會退出應用程序或將應用程序推送到後臺。 –

+1

@Signare - 嘗試使用代碼,我認爲您會發現它會將電話屏幕推到調用應用程序的頂部,當調用的電話屏幕從堆棧中移除時,將看到調用屏幕。 –

回答

0

你可以使用PhoneListener當通話結束檢測,然後嘗試把你的應用程序中使用這前景:

Application.getApplication().requestForeground(); 

不知道這是怎麼回事工作,雖然,因爲我不知道如果電話聽衆執行的「應用程序」是電話應用程序本身。我認爲不是,但如果是這種情況,您可以從電話監聽器回調中發送一個全局事件並將其捕獲到您的應用中,從而可以將其自動置於前臺。

+1

您應該假設電話監聽器不會在您的應用程序中執行,因此全局事件是正確的方法。但是,這表示,這不應該需要。包含在原始問題中的調用代碼將手機屏幕推到當前應用程序屏幕的頂部。如果調用應用程序剛剛執行了我們看到的代碼,那麼當電話結束時,關閉電話屏幕將使用戶返回調用應用程序。嘗試一下。 –

+0

@PeterStrange是的,它可能是矯枉過正,但你絕不能100%確定沒有其他應用程序將自己置於你的屏幕和手機應用程序之間。無論如何,我可能是錯的,但我認爲用戶必須掛起並手動關閉手機應用才能返回(兩個動作)。我認爲這個問題是要求一個更加集成的解決方案,他可能會試圖將電話顯示爲他的應用程序的一部分。 –

相關問題