Вызов приложения в iOS после завершения каждого телефонного звонка

Я пытаюсь создать приложение, которое должно отображаться (каждый и каждый раз), как только пользователь закончит свой телефонный звонок.

Случай использования:

«Мое приложение» в настоящее время не запущено.

  1. Пользователь делает телефонный звонок с мобильного телефона.
  2. После завершения вызова должно запуститься/запуститься «Мое приложение».
  3. Он должен собрать некоторую информацию о последнем звонке.
  4. напишите это в журнале и закончите ..

Я видел задачи, работающие в фоновом режиме на переднем плане, но как вызывать приложение после каждого телефонного звонка.

Спасибо..


person Balram Tiwari    schedule 07.08.2013    source источник
comment
невозможно. Оба сценария 2 и 3 не возможны «одобрено Apple». Возможно, это можно сделать на взломанном iPhone.   -  person basvk    schedule 07.08.2013
comment
@basvk: Спасибо за быстрый ответ. Итак, если я откажусь от шага 2, можно ли получить список последних вызовов одобренным Apple способом.   -  person Balram Tiwari    schedule 07.08.2013
comment
Нет, это вообще невозможно без использования телефонов с джейлбрейком icw private api. И я искренне надеюсь, что Apple никогда этого не допустит.   -  person basvk    schedule 07.08.2013
comment
Что бы вы сделали с этой информацией?   -  person nielsbot    schedule 08.08.2013
comment
@nielsbot: я не могу раскрыть всю идею (Юридические соглашения), но, чтобы ответить, я бы сказал, что мне это нужно для обеспечения безопасности пользователя.   -  person Balram Tiwari    schedule 19.08.2013


Ответы (3)


Вы не можете этого сделать. Проще говоря, в iOS (пока) нет такой функции, при которой ваше приложение будет запускаться на основе какого-либо системного события.

Но вы можете изучить некоторые альтернативы, когда вызов поступает во время работы вашего приложения.


Если ваше приложение запущено, когда поступает вызов

Можно подписаться на получение уведомлений (с помощью UINotificationCenter звонков) от UITelephony.

Однако, если вы активно используете свое приложение, когда начинается телефонный звонок, оно позвонит -(void)applicationWillEnterForeground, когда звонок будет завершен. Что касается отличия окончания телефонного разговора от обычного возврата к телефону, я не знаю. Но это начало.

Если ваше приложение работает во время вызова CoreTelephony Framework предоставляет состояния вызовов. CTCall предоставляет информацию о состояниях вызовов. Я не использовал это сам, но вы можете найти это полезным.

extern NSString const *CTCallStateDialing;
extern NSString const *CTCallStateIncoming;
extern NSString const *CTCallStateConnected;
extern NSString const *CTCallStateDisconnected;
person Srikar Appalaraju    schedule 07.08.2013

Нет, невозможно получить журналы вызовов/SMS/электронной почты в iOS 5 и более поздних версиях.

Это можно сделать в джейлбрейке

любыми способами, если вы пытаетесь добиться этого в iOS 4, у меня есть полезная информация ЗДЕСЬ

person Ravi_Parmar    schedule 07.08.2013

До сих пор это невозможно в iOS, если устройство не взломано.

iOS не позволяет ни одному приложению перехватывать работу любого другого приложения.

person Vaibhav Gautam    schedule 07.08.2013