Звоните события в iPhone
Я пытаюсь получить события Call (звонок получен, звонок завершен и т. Д.) Я попытался запустить пример кода CoreTelephonyDemo, но я не получаю никаких событий звонка. Кто-нибудь может направить меня к тому же.
Я пробовал этот код в applicationWillResignActive, но я не получаю никаких событий. Я что-то упускаю или делаю что-то не так? Пожалуйста, руководство.
- (void)applicationWillResignActive:(UIApplication *)application
{
CTCallCenter *callCenter1 = [[CTCallCenter alloc] init];
callCenter1.callEventHandler=^(CTCall* call)
{
if (call.callState == CTCallStateDisconnected)
{
NSLog(@"Call has been disconnected");
}
else if (call.callState == CTCallStateConnected)
{
NSLog(@"Call has just been connected");
}
else if(call.callState == CTCallStateConnected)
{
NSLog(@"Call is incoming");
}
else
{
NSLog(@"None of the conditions");
}
};
}
1 ответ
Вы можете обнаружить события вызова. Ваша заявка делегат будет получать звонки в различные UIApplicationDelegate
Методы протокола, когда происходят различные события. Одним из них является - (void)applicationWillResignActive:(UIApplication *)
метод приложения, который вызывается для входящих вызовов или текстовых сообщений, но может вызываться и по другим причинам.
Вы можете обнаружить вызов, только если ваше приложение работает на переднем плане.
Если ваше приложение попадет в любую из категорий фонового запуска (VOIP, AUDIO, отслеживание местоположения или аксессуар), вы можете использовать CTCallCenter
на заднем фоне. Но имейте в виду, что Apple отклонит ваше приложение, если вы пропустите использование фонового режима запуска для чего-то, для чего он не предназначен.
CTCallCenter
позволит вам обнаружить любые звонки, которые начаты или уже выполняются.
Однако вы не сможете обнаружить какие-либо подробности о звонке, CTCall
идентификация вызова покажет вам только это состояние. CallID из CTCall
просто даст вам уникальный идентификатор для вызова, но не номер вызываемого.