【发布时间】:2016-03-11 23:29:49
【问题描述】:
我有一个使用 PortSip SDK 拨打 VoIP 电话的应用程序,当用户刷掉应用程序时我需要关闭电话,但我想在应用程序处于后台时离开通话。我有一个函数 endCall() 可以结束通话,但是如果我在 onDestroy() 上调用它,即使应用程序在后台,它也会被调用。
【问题讨论】:
我有一个使用 PortSip SDK 拨打 VoIP 电话的应用程序,当用户刷掉应用程序时我需要关闭电话,但我想在应用程序处于后台时离开通话。我有一个函数 endCall() 可以结束通话,但是如果我在 onDestroy() 上调用它,即使应用程序在后台,它也会被调用。
【问题讨论】:
我还没有真正研究过 PortSip SDK,但这听起来更像是一个了解活动生命周期的问题。如果应用程序进入后台,系统将在需要时调用 onDestroy()。这是官方文档:http://developer.android.com/reference/android/app/Activity.html#ActivityLifecycle.
您想要做的是使用一个服务来实现,该服务将在后台运行,并且如果应用程序未打开,它不会被系统杀死。看看:http://developer.android.com/guide/components/services.html。
【讨论】: