Android– 从循环中停止NEW_OUTGOING_CALL事件?

Android– 从循环中停止NEW_OUTGOING_CALL事件?,第1张

概述我有一个BroadcastReceiver捕获ACTION_NEW_OUTGOING_CALL事件.在onReceive()方法中,我将提供的数字发送到新的ListActivity,用户可以从列表中选择各种新的目标号码.当用户从列表中选择一个新号码时,我就会在URI字段中使用新号码开始一个新的ACTION_CALL意图.或者,结果可能是原始

我有一个broadcastReceiver捕获ACTION_NEW_OUTGOING_CALL事件.

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

当用户从列表中选择一个新号码时,我就会在URI字段中使用新号码开始一个新的ACTION_CALL意图.或者,结果可能是原始数字.

无论新号码是什么,都必须立即拨打,不再进一步处理.

如何让broadcastReceiver知道不应该再次处理这个结果数?

解决方法:

我通过在broadcastReceiver中实现“Bypass Prefix”解决了这个问题.如果我的客户端应用程序想要直接调用一个数字,它只需在调用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事件?全部内容,希望文章能够帮你解决Android – 从循环中停止NEW_OUTGOING_CALL事件?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1109073.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存