안녕하세요. 해결이 안되는 문제가 있어서,
혹시 아시는 분 계시면 조언 부탁드립니다.
제가 App에서 전화를 걸도록 만들었는데요,
callIntent.setData(Uri.parse("tel:"+CallNumber));
startActivity(callIntent); 를 하는 순간 저의 App이 뒤로 숨으면서 전화가 걸립니다.
저의 App이 Foreground로 유지되었으면 하는데요,
문의입니다.
1. 혹시 callIntent.addFlags(); 에 백그라운드로 전화가 걸리도록 하는 인자가 있느지요?
2. 만약 없다면, BroadcastReceiver를 통해서 TelephonyManager의 EXTRA_STATE가 OFFHOOK인 경우,
즉 전화를 걸고 있거나 통화가 된 경우, 현재 백그라운드로 들어간 저의 App을 포그라운드로 올릴 방법이 있나요?
2번의 경우, BroadcastReceiver에서 상태를 체크해서 통화가 된 경우,
Intent i = new Intent( context, MyActivity.class);
PendingIntent pi = PendingIntent.getActivity(context, REQ_CODE, i, PendingIntent.FLAG_UPDATE_CURRENT);
ps.send();
를 통해서 실행되고 있는 App을 띄워보려고 해봤는데 잘 안됩니다.
PendingIntent의 flag가 잘못된 것인지, requestCode를 넣을 경우, 실행되고 있는 App이 어떻게 받아야하는지...
아니면, 이도저도 아닌 다른 방법이 있는지 궁금해서 문의드립니다.
꼭 좀 조언 부탁드리겠습니다.
새해 복 많이 받으세요.
꼭 불가능하지는 않을 것 같습니다.
전화가 걸리는 화면에서 FLAG_ACTIVITY_NEW_TASK로 새로운 App을 실행하면 화면이 올라오는데,
제가 하고 싶은 것은, 엄밀히 말하면 NEW_TASK가 아니라, 실행되고 있는 App의 순위를 top으로하고 싶은 것인데요...
쩝... 그니깐,,,
전화가 걸리는 화면에서 홈버튼을 누른 다음 다시 App을 실행하면 NEW_TASK가 아닌 상태로 실행이 되는 것으로 보아
가능할 것 같은데, 방법을 모르겠습니다.




아쉽게도 전화는 시스템에서 컨트롤하는 거라 불가능합니다.