앱에서 전화왔을때 체크하는법

조회수 2639회

제가 동영상 플레이어 앱을 개발하고있는데요. 동영상을 재생하고 이런것까진 됐는데 동영상을 재생중에 전화가 왔을때 동영상을 잠깐 멈춰야하는데 전화가 온걸 어떻게 알수있나요?

1 답변

  • 좋아요

    0

    싫어요
    채택 취소하기
    import android.app.Activity;
    import android.os.Bundle;
    import android.telephony.PhoneStateListener;
    import android.telephony.TelephonyManager;
    import android.widget.Toast;
    
    public class PhoneListenerTestActivity extends Activity {
    
        PhoneStateCheckListener phoneCheckListener;
    
    
    
        @Override
    
        public void onCreate(Bundle savedInstanceState) {
    
            super.onCreate(savedInstanceState);
    
            setContentView(R.layout.main);
    
    
    
            phoneCheckListener = new PhoneStateCheckListener(this);
    
    
    
            TelephonyManager telephonyManager  =
    
    (TelephonyManager)getSystemService(TELEPHONY_SERVICE); 
    
            telephonyManager.listen(phoneCheckListener,
    
    PhoneStateListener.LISTEN_CALL_STATE); 
    
        }
    
    
    
        public class PhoneStateCheckListener extends PhoneStateListener {
    
            PhoneListenerTestActivity mainActivity;
    
            PhoneStateCheckListener(PhoneListenerTestActivity _main){
    
                mainActivity = _main;
    
            }
    
    
        @Override
    
        public void onCallStateChanged(int state, String incomingNumber) {
    
        if (state == TelephonyManager.CALL_STATE_IDLE) {
    
        Toast.makeText(mainActivity,"STATE_IDLE : Incoming number " 
    
    + incomingNumber,Toast.LENGTH_SHORT).show();
    
        } else if (state == TelephonyManager.CALL_STATE_RINGING) {
    
        Toast.makeText(mainActivity,"STATE_RINGING : Incoming number "
    
     + incomingNumber,Toast.LENGTH_SHORT).show();
    
    //수신 부분 입니다.
    
        } else if (state == TelephonyManager.CALL_STATE_OFFHOOK) {
    
            Toast.makeText(mainActivity,"STATE_OFFHOOK : Incoming number " 
    
    + incomingNumber,Toast.LENGTH_SHORT).show();
    
        }
    
        }
    
        }     
    
    }
    

    안드로이드 매니페스트파일에 가서

        <uses-permission android:name="android.permission.READ_PHONE_STATE"/>
    

    이걸 넣어주셔야됩니다.

    출처 :http://jwandroid.tistory.com/152

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)