4

我希望有人能指点我一些好的资源或正确的方向,或者甚至更好地抽出一些代码片段/伪代码来帮助我。SIP Android应用程序,如何使用服务和活动

我是新来的android devel,我的任务是创建一个应用程序,它使用sip库来制作/接收sip调用。这个库是相当抽象的,并且都可以用一个'phone'实例来工作,我可以调用.rejectCall(),.answerCall()等等。拿到手机的情况下,我用这条线:

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服务,通过这个,当你打电话做Y和VOILA!但任何帮助,所以永远都会很大,非常感谢!

干杯,

DJOodle

>>>>编辑

好吧,我搬到了AbtoPhone的所有处理的服务。当我接到一个调用,然后调用MainActivity,将它绑定到服务,所以我可以调用正确的方法来接听电话。

这是好的,它的工作原理,但这意味着我有一个持续运行的服务,并且我感觉这是一个糟糕的坏事。我怎样才能让AbtoPhone的一个实例在没有耗尽手机资源的情况下收听来电?

干杯!

回答

2

这是一个很大的话题。我认为你应该给Sip-Droid这个开源应用程序一个机会。所以你可以使用任何与它相关的东西。

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

这是一个基于Sip的应用程序,可以完成您要求的所有功能。我认为你可以使用源代码并重新开发你想要的任何东西。 这个应用程序使用的JNI比Sip更复杂。所以在这个应用程序中使用所有的JNI,你会发现很多你可以使用的库,并使工作更快。

+0

我会标记你作为答案,因为我发现我的SipDroids源内,它是一个很大的帮助,所以谢谢! – DJOodle 2012-08-10 13:37:38

+0

@DJOodle欢迎您。 – daigoor 2012-08-12 11:17:43

相关问题