【发布时间】:2009-11-24 15:33:07
【问题描述】:
是否可以识别用户在使用应用时是否正在通话。
这是场景:
- 我接到电话
- 我接听电话
- 点击主页按钮
- 启动应用程序
此时我可以告诉这个应用程序正在后台进行通话吗?
了解屏幕并不是一个完整的选择。因为在网络共享时会变得很困难。
【问题讨论】:
标签: ios iphone service background phone-call
是否可以识别用户在使用应用时是否正在通话。
这是场景:
此时我可以告诉这个应用程序正在后台进行通话吗?
了解屏幕并不是一个完整的选择。因为在网络共享时会变得很困难。
【问题讨论】:
标签: ios iphone service background phone-call
您可以检查状态栏的高度。如果超过 20 像素,则说明您正在通话或网络共享(AT&T 不支持此功能,因此如果您在美国,则必须通话)。
[UIApplication sharedApplication].statusBarFrame
【讨论】:
没有任何电话状态或功能的公共 API,因此您必须依赖通话的副作用。
您可以像 Ben Gottlieb 建议的那样检查状态栏,也可以尝试initialize an audio recording,如果失败并出现已在使用的错误,您可以相当确定麦克风正在用于通话。
【讨论】:
为了详细说明 Ben 所说的内容,您需要从设置 View 的高度中减去 [UIApplication sharedApplication].statusBarFrame。
【讨论】: