Существует ли способ сказать, используется ли Ваше приложение, в то время как пользователь разговаривает по телефону?

Существует пример C++ в msdn http://msdn.microsoft.com/en-us/library/ms724429 (По сравнению с 85) .aspx, наряду с примечанием, которое кто-то добавил о том, как обернуть его для использования в .NET [VB]. Это похоже на "недостающий" бит, в котором Вы нуждаетесь, функция Win32 GetProductInfo ( ссылка PInvoke.net для этого ).

Между этим и ответом от Avram, необходимо смочь собрать строку полной версии.

6
задан JOM 6 January 2012 в 13:23
поделиться

3 ответа

Обратите внимание на разницу в размере между [[UIScreen mainScreen] границами] и [[UIScreen mainScreen] applicationFrame] . Если разница составляет 20 пикселей и вы не скрываете строку состояния, значит, пользователь, вероятно, не звонит. Если разница составляет 40 пикселей, вероятно, ваш пользователь звонит, поскольку светящаяся зеленая строка состояния, которая появляется во время звонков, примерно в два раза больше обычной строки состояния.

Я не делал этого раньше, поэтому YMMV. Удачи и дайте мне знать, сработает ли это!

5
ответ дан 10 December 2019 в 02:50
поделиться

Когда iPhone получает вызов, приложение закрывается. Вы можете зарегистрировать обратный вызов для корректной обработки этого события, см.

http://developer.apple.com/iphone/library/documentation/UIKit/Reference/UIApplicationDelegate_Protocol/Reference/Reference.html#//apple_ref/occ/ intfm / UIApplicationDelegate / applicationWillTerminate :

После завершения вызова ваше приложение перезапустится.

Приложения, которые сохраняют ваше состояние во время разговора, просто хорошо написаны :)


Ага! Я только что прочитал ваш настоящий вопрос.

Я не могу найти и не знаю ни одного API для доступа к телефонному приложению. Единственный совет: Phone - это такое же приложение, как и любое другое, и оно может публиковать информацию через HTTP-туннель, предоставляемый всеми приложениями.

Интересно, можно ли было бы просто иметь кнопку «Я говорю по телефону», которую пользователь мог бы нажмите, чтобы добиться тех же результатов?

0
ответ дан 10 December 2019 в 02:50
поделиться

При поступлении вызова приложение не выходит, оно переходит в неактивное состояние. Следующий метод должен быть вызван для UIApplicationDelegate :

- (void)applicationWillResignActive:(UIApplication *)application

Этот метод также вызывается в других случаях, например, когда iPhone заблокирован, и у вас нет возможности определить, был ли это входящий телефонный звонок. это вызвало это.

2
ответ дан 10 December 2019 в 02:50
поделиться
Другие вопросы по тегам:

Похожие вопросы: