2012-03-19 25 views
0

通話結束後,我的應用程序似乎停止,如何保持通話狀態並保持通話之前的狀態?如何在通話結束後讓android運行?

+1

您是否瞭解Android活動生命週期? http://developer.android.com/guide/topics/fundamentals/activities.html – 2012-03-19 02:35:45

回答

2

當你的應用程序正在運行,您會收到一個電話,您的應用程序應該通過重寫

onPause() { 
    //save your state here 
} 

方法保存應用程序的當前狀態,並實現

onResume() { 
    //load your state here 
} 
+0

如果我的應用程序使用一些線程來接收信息,當一個調用來的時候,線程會停止還是不停止?我是否需要重新啓動這些線程? – pthread 2012-03-19 02:47:33

+0

是的,最好的做法是在應用程序暫停時停止運行任何線程,並在調用onResume方法時重新創建/重新啓動它們。 – 2012-03-19 02:52:21

+0

@GodwinW偉大的答案,幫助我:) – 2012-03-19 02:53:09

1

願你可以使用PhoneStateListener在通話結束後開始您之前的活動。

class CallEndedListener extends PhoneStateListener { 
     boolean called = false; 

     @Override 
     public void onCallStateChanged(int state, String incomingNumber) { 
      super.onCallStateChanged(state, incomingNumber); 

      if (state == TelephonyManager.CALL_STATE_OFFHOOK) 
       called = true; 

      if (called && state == TelephonyManager.CALL_STATE_IDLE) { 
       called = false; 
       // do something here. 
      } 
     } 
    } 
相關問題