【发布时间】:2013-05-22 04:59:52
【问题描述】:
我知道这个问题已经被问过很多次了,没有答案,但我仍然希望有人终于解决了这个问题。
问题:我有一台运行 Android 2.3 的无根设备。我需要创建一个服务:
- 拨打电话;
- 等待呼叫被应答;
- 接听电话后挂断电话(超时);
像许多其他人一样,我一直坚持 #2。以下是曾经提出的解决方案的摘要:
- 使用 PhoneStateListener(最流行):不起作用,对于拨出电话它无法检测到我需要什么。
- 使用
com.android.internal.telephony.CallManager及其类似registerForPreciseCallStateChanged的方法(例如this one):不起作用,其中没有注册电话,因此不会触发事件。 - 使用
com.android.internal.telephony.PhoneFactory获取com.android.internal.telephony.Phone实例(这是一切的关键):不起作用,工厂没有初始化;尝试使用makeDefaultPhones调用对其进行初始化会导致安全异常(如 here)。 - 检测输出铃声 (link):作者 - Dany Poplawec - 表示检测铃声可能有助于解决问题,但没有提供任何细节,所以我无法尝试这种技术。李>
看起来一切都已经尝试过了,但可能还有一个技巧可以拯救我:)
【问题讨论】:
-
你有解决办法吗?
-
唉,看来除了修改安卓操作系统本身什么都做不了。
标签: android