2009-11-24 2 views
4

Можно ли определить, пользуется ли пользователь при телефонном разговоре при использовании приложения.Есть ли способ узнать, работает ли пользователь во время использования моего приложения?

Вот сценарий:

  1. я получаю звонок
  2. Я принять вызов
  3. Нажмите кнопку хозяев
  4. запустить приложение

На данный момент я могу скажите этому приложению, что звонок происходит в фоновом режиме?

Знакомство с экраном не является полным вариантом. Потому что это затрудняет жизнь при подключении к Интернету.

ответ

1

Вы можете проверить высоту строки состояния. Если это более 20 пикселей, вы либо звоните, либо привязываетесь (который не поддерживается на AT & T, поэтому он должен быть на вызове, если вы находитесь в США).

[UIApplication sharedApplication].statusBarFrame 
+0

Я хотел бы надеяться, что никто не предполагает, что при подключении AT & T не поддерживается, что он автоматически означает, что они находятся на телефонном звонке. Там очень много iPhone, которые не основаны на США ... –

+0

Я тоже надеюсь, плюс я все еще надеюсь на AT & T привязку! –

+0

Всякий раз, когда я использую [UIApplication sharedApplication] .statusBarFrame в инструкции NSLog, он показывает, что кадр будет «0». Что происходит? – Jonah

1

Существует не публичный API для любого состояния телефона или функциональности, так что вам придется полагаться на побочные эффекты быть по вызову.

Вы можете либо проверить строку состояния, как предложенный Бен Готлиб, либо попытаться установить initialize an audio recording, если она не работает с ошибкой уже используемой, вы можете быть уверены, что микрофон используется для вызова.

+0

Или для голосовой заметки. –

1

Чтобы уточнить, что сказал Бен, вы захотите вычесть [UIApplication sharedApplication] .statusBarFrame с высоты, на которую вы установили свой вид.

Смежные вопросы