4

누군가 나를 좋은 리소스 나 올바른 방향으로 안내 할 수 있으며, 여기에서 나를 돕기 위해 일부 코드 스 니펫/의사 코드를 추출하는 것이 좋습니다.SIP Android 앱, 서비스 및 활동 사용 방법

저는 안드로이드 devel을 처음 접해서 모금 전화를 걸거나 받기 위해 SIP 라이브러리를 사용하는 앱을 생성해야합니다. 라이브러리는 상당히 추상화되어 있으며 모든 것은 .rejectCall(), .answerCall() 등을 호출 할 수있는 'phone'인스턴스로 작동합니다.

AbtoPhone abtoPhone = ((AbtoApplication)getApplication()).getAbtoPhone(); 

그게 모든 벌금과 멋쟁이,하지만 이해 활동 및 서비스가 제대로 나는 응용 프로그램으로 돌려 대해 이동하는 방법을 잘 모르겠어요 : 휴대 전화의 인스턴스를 얻으려면, 내가이 줄을 사용합니다.

사용자가 로그인하여 SIP 서버에 등록한 다음 전화가 전화를 수신하도록 할 수있는 기능이 필요합니다.

배경에 넣을 때 계속 전화를 듣고 싶습니다. 백그라운드에서 누군가가 전화를 받거나 거부 할 수있는 대화 상자를 팝업으로 표시하려고 할 때 응답시 초기 동작이 일어나기를 원합니다 (또는 살해 당했을 때 시작해야 함). 사용자가 기분 좋게 채팅 할 수 있도록 전경.

어떻게 해결할 수 있습니까? 현재 AbtoPhone을 주 활동에 추가하고 계정을 추가하고 모든 리스너를 추가 한 다음 사용자가 등록 버튼을 클릭하면 동일한 명령으로 전화의 자체 인스턴스를 가져 오는 고정 된 서비스를 시작합니다 이전과.

그런 다음 서비스 내에서 사용자를 sip 클라이언트에 등록합니다. 내 문제는 서비스가 내가 죽었와라는 원래 활동 것을 얻을

android.view.WindowManager$BadTokenException: Unable to add window 
-- token [email protected] is not valid; 
is your activity running? 

:이 계속 실행의 주요 활동을 종료하고 전화를받을 때 그러나 지금은 예외로 충돌합니다 깨우기 위해 노력하고있어. 하지만 난 그걸 제대로하는 법을 모른다.

서비스 및 활동은 반복되는 질문입니다. 그러나 자습서 읽기를 둘러 보았지만 제대로 사례를 적용하는 방법을 알지 못해서 누군가가 Do X, Start service, 이것을 건네주세요, 전화를받을 때 Y와 VOILA를하십시오! 그러나 그렇게 대단히 도움이 될 어떤 도움도 크게 감사드립니다 !!!

건배,

DJOodle

>>>> 편집

좋아, 내가 서비스에 AbtoPhone의 모든 처리를 이동했습니다. 내가 전화를받을 때 MainActivity를 호출하고, 서비스에 바인드하므로 올바른 방법으로 호출에 응답 할 수 있습니다.

이것은 괜찮 으면 작동하지만 이것은 지속적으로 실행되는 지속적인 서비스가 있다는 것을 의미하며, 나쁘고 나쁜 느낌을 갖습니다. 어떻게 AbtoPhone 인스턴스가 전화 리소스를 소모하지 않고 전화를 끊을 수 있도록 할 수 있습니까?

건배!

답변

2

이것은 큰 주제입니다. 나는 오픈 소스 애플리케이션 인 Sip-Droid에게 기회를 주어야한다고 생각한다. 그래서 당신은 그와 관련된 모든 것을 사용할 수 있습니다.

http://code.google.com/p/sipdroid/ 

이것은 사용자가 요청한 모든 것을 수행하는 SIP 기반 응용 프로그램입니다. 소스 코드를 사용하고 원하는 모든 것을 재개발했다고 생각합니다. 이 응용 프로그램은 Sip보다 더 복잡한 주제 인 JNI를 사용합니다. 그래서이 응용 프로그램에서 모든 JNI를 사용하면 당신이 lib를 많이 사용할 수있는 작품을 빠르게 찾을 수 있습니다.

+0

나는 SipDroids 소스에있는 내 것을 발견하고 큰 도움을주었습니다. 감사합니다. 감사합니다! – DJOodle

+0

@DJOodle 당신을 진심으로 환영합니다. – daigoor