재다이얼해주는 소스를 작성중인데
타이머 후 폰이 통화상태가 아닐경우 종료하는 부분인데, 종료가 되지않습니다.
퍼미션이나 ITelephony.aidl 은 모두 맞게 해준거 같은데.. 어느부분이 문제인지 알수가없네요..ㅠ
고수분들의 불필요한부분이 있는지 애매한 부분이 있는지 좀 조언좀 부탁드려요..
new CountDownTimer(20000, 1000){
public void onTick(long millisUntilFinished) {
}
public void onFinish() {
phoneStateListener = new PhoneStateListener(){
public void onCallStateChanged(int state, String incomingNumber){
switch(state){
case TelephonyManager.CALL_STATE_OFFHOOK:
break;
case TelephonyManager.CALL_STATE_IDLE:
TelephonyManager tm = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);
try {
Class<?> c = Class.forName(tm.getClass().getName());
Method m = c.getDeclaredMethod("getITelephony");
m.setAccessible(true);
ITelephony telephonyService = (ITelephony) m.invoke(tm);
telephonyService.endCall();
}
catch (Exception e) {
e.printStackTrace();
}
}
}
};
}
};
소스를 100% 이해하지 못했구요..
필요한 부분에 대한 소스를 책과 인터넷에서 섞어왔기때문에 문제가 많을 수 있으니 너그러이 봐주세요 ㅠㅠ
제가 원하는건 통화중(상대방과연결)됬을경우 아무런 동작을 하지않고
상대방에서 전화거는중(신호중)에 endcall()을 날리게 하고싶었는데,
CALL_STATE_ 로는 할수 가 없는 건가요?