1

我对阻止和传递呼叫有一个令人沮丧的问题。

我的应用流程如下:

  1. 接收 的意图的广播接收器 BR NEW_OUTGOING_CALL,停止呼叫(由setResultData(null);)并启动服务 S。
  2. S 决定是否调用(并显示一个对话框)。如果它决定用标志来startActivity()调用它ACTION_CALLNEW_TASK(并放置一些标识符,以便下次 BR 收到它时不会阻止它。

到目前为止,此流程运行良好,但在 Galaxy S3 上存在问题

  1. 它只会阻止调用 - 新调用的 startActivity() 不起作用。
  2. 我认为这是因为系统仍在处理第一个请求并放弃了新呼叫。
  3. 我试图调用 abortBroadcast(); 来自 BR,但我收到“未发送呼叫”oppup,这意味着系统仍在处理该意图
  4. 我通过在服务中设置后延迟成功地获得了所需的功能,因此两次调用之间会有一点时间跨度。

我可以在不延迟新呼叫的情况下实现所需的功能吗?

4

0 回答 0