2016-11-02 102 views
0

我有一個關於PhonestatelistenerAndroid的查詢。 情景是我做了一個測驗App。 一切工作正常,但當我得到任何來電,我的測驗不停止。 我希望它停止並在電話結束後恢復。當在Android中接聽來電時停止和恢復活動

我已使用PhoneStateListener爲此目的,但不知道如何撥打onStop()onResume()Activity。 這裏是我使用的代碼:

PhoneStateListener callStateListener = new PhoneStateListener() { 
    public void onCallStateChanged(int state, String incomingNumber) { 
     if(state==TelephonyManager.CALL_STATE_RINGING){ 

     } 

     if(state==TelephonyManager.CALL_STATE_OFFHOOK){ 
      Toast.makeText(getApplicationContext(),"Phone is Currently in A call", Toast.LENGTH_LONG).show(); 
     } 

     if(state==TelephonyManager.CALL_STATE_IDLE){ 
      Toast.makeText(getApplicationContext(),"phone is neither ringing nor in a call", Toast.LENGTH_LONG).show(); 
     } 
    } 
}; 

tManager.listen(callStateListener,PhoneStateListener.LISTEN_CALL_STATE); 

在此先感謝。

+0

您不會調用'onStop()','onResume()'等Android。您應該在這些方法中使用代碼來處理測驗的狀態。你也可能對'onWIndowFocusChanged()'回調方法感興趣(也被Android調用)。 – Karakuri

+0

對不起,先生不能讓你! Android會在RINGING狀態時停止Activity本身? – Shamshad

+0

@Karakuri:您提到要使用onWindowFocusChanged()的任何具體原因。我認爲onStart() - > onStop()就足以完成這項工作。 –

回答

0

你不需要撥打電話聽衆。當有任何手機來自動android自動撥打onPause()onStop()方法。你只覆蓋的方法和停止計時器的onPause(),並恢復它的onResume()方法。