我正在使用sinch进行VOIP通话。当我的应用程序处于脱机状态或进程被终止时,我需要知道如何检测传入的呼叫。它可以通过后台服务完成,但无法理解如何构建此类服务以及可以使用哪种方法。
答案 0 :(得分:0)
您可以检查设备状态是处于活动状态还是非活动状态
- (void)client:(id<SINCallClientDelegate>)client didReceiveIncomingCall:(id<SINCall>)call {
if (call.details.applicationStateWhenReceived == UIApplicationStateActive) {
//perform segue
}
}
答案 1 :(得分:0)
基本上,当应用程序处于脱机状态时,Sinch会发送一条推送消息,该消息应该在GcmBroadcastReceiver
中截获,然后您调用GcmIntentService
来初始化Sinch并将您连接到该呼叫。当然,在初始化setSupportManagedPush(true)
时,您需要setSupportPushNotifications(true)
和SinchClient
。
Sinch提供了一个示例项目来帮助您解决所有这些问题。 只需转到Sinch website并下载ANDROID SDK 3.9.3 ZIP文件即可。它有一个包含5个项目的samples文件夹。
检查项目sinch-rtc-sample-push
,它具有GCM实施和SinchService
。您可以在项目中使用相同的类。