【问题标题】:Receive incoming call notification in my Android app在我的 Android 应用中接收来电通知
【发布时间】:2011-08-01 09:46:43
【问题描述】:
我正在开发一个将视频流式传输到远程服务器的 Android 应用。
我目前的问题是,在使用相机时接到电话时,我的活动会失去对电话应用程序的关注,因此在电话响铃时(或在通话期间使用时)无法进行流式传输。
我想拦截来电并允许用户在我的活动中决定是否接受它。
我知道我可以使用广播 Intent 来接收来电通知,但是否可以阻止手机应用获得焦点?我可以根据用户的决定“拒绝”来自我的应用的呼叫吗?
谢谢。
【问题讨论】:
标签:
android
android-intent
broadcastreceiver
【解决方案1】:
您需要在service 中实现这一点。
服务不会被来电等中断。您仍然可以通过广播到您的活动来控制您的 UI 并让用户保持更新。那么当activity被系统中断时,流将在service中继续,当activity恢复时(即用户挂机时),您可以恢复更新用户界面。
您确实应该避免干扰操作系统的预期行为,例如拦截来电,很可能用户只会对您的应用感到恼火,这将导致评分不佳或卸载。
我也可以推荐阅读Multitasking the Android Way 以获得更好的解释。