반응형
안드로이드 어플을 플레이 스토어에 등록할 때 통화 중일 때 노래가 나오면 반려되는 경우가 있었다.
그래서 통화 상태를 구해 코딩을 해봤다
1. AndroidManifest.xml
통화 상태를 확인하려면 권한이 무조건 있어야 하니 추가해 주자. 참고로 플레이스토어 등록할 때 이 권한을 필요로 하는 앱이라면 이용약관이 필요하다.
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
2. 노래가 나오는 activity
TelephonyManager telephonyManager;
boolean isCalling = false;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
telephonyManager = (TelephonyManager) getSystemService(TELEPHONY_SERVICE);
telephonyManager.listen(phoneStateListener, PhoneStateListener.LISTEN_CALL_STATE);
if(isCalling) {
// 통화중 일 때 원하는 코드 사용
}
}
/** 전화 수신 이벤트 : READ_PHONE_STATE 필요 **/
PhoneStateListener phoneStateListener = new PhoneStateListener() {
@Override
public void onCallStateChanged(int state, String phoneNumber) {
switch (state) {
case TelephonyManager.CALL_STATE_IDLE :
// 통화중이 아닐 때
isCalling = false;
break;
case TelephonyManager.CALL_STATE_OFFHOOK :
// 통화중
isCalling = true;
break;
case TelephonyManager.CALL_STATE_RINGING :
// 전화 벨이 울릴 때
isCalling = true;
break;
}
}
};
반응형
'Android' 카테고리의 다른 글
[Android] 키보드 사용 시 화면 스크롤 컨트롤 (0) | 2020.09.14 |
---|---|
[Android] ImageView Animation (0) | 2020.06.03 |
[Android] Dialog Animation (0) | 2020.06.02 |
[Android] ScrollView 자동 스크롤과 사용자 스크롤 (0) | 2020.06.02 |
[Android] 딥링크(Deep-Link) 설정 및 부르기 (0) | 2020.04.23 |