gpt4 book ai didi

Android - 阻止 NEW_OUTGOING_CALL 事件循环?

转载 作者:太空宇宙 更新时间:2023-11-03 12:43:35 24 4
gpt4 key购买 nike

我有一个 BroadcastReceiver 捕捉 ACTION_NEW_OUTGOING_CALL 事件。

onReceive() 方法中,我将提供的号码发送到新的 ListActivity,用户可以从列表中选择各种新的目的地号码。

当用户从列表中选择一个新号码时,我将在 URI 字段中使用新号码启动一个新的 ACTION_CALL Intent 。或者,结果可能是原始数字。

无论新号码是什么,都必须立即调用,不做任何处理。

我怎样才能让 BroadcastReceiver 知道不应再次处理这个结果数?

最佳答案

我通过在我的 BroadcastReceiver 中实现“绕过前缀”解决了这个问题。如果我的客户端应用程序想要直接调用一个号码,它只需在调用 ACTION_CALL Intent 之前添加前缀。

如果调用的号码有(硬编码)前缀,BroadcastReceiver 会去除前缀并允许调用正常进行:

public void onReceive(Context context, Intent intent)
{
String action = intent.getAction();
if (Intent.ACTION_NEW_OUTGOING_CALL.equals(action)) {
String number = getResultData();
if (number.startsWith(BYPASS_PREFIX)) {
setResultData(number.substring(BYPASS_PREFIX.length()));
} else {
// do additional processing
}
}
}

这一次性解决了两个问题 - 这不仅停止了调用循环,还为我提供了一种方法,通过将前缀存储在电话簿条目中来绕过对特定号码的额外处理。

关于Android - 阻止 NEW_OUTGOING_CALL 事件循环?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/808645/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com