gpt4 book ai didi

java - Android检测来电?

转载 作者:行者123 更新时间:2023-11-29 03:33:12 24 4
gpt4 key购买 nike

我正在尝试开发一个应用程序,如果有人在特定时间段内连续给您打电话一定次数,它就会打开您的铃声。这是我的第一个真正的应用程序,所以我有点卡住了。

每当收到内部列表中的调用时,我如何记录?这是否需要成为一项始终运行的服务,或者仅通过接收拨号器应用程序的 Intent 就可以在普通应用程序中工作?

如果这个问题有点含糊,我深表歉意。

最佳答案

最好的方法是,通过在 list 中声明您的广播接收器,这将导致每次触发事件时执行您的 BroadcastReceiver 类上的代码,而无需在后台运行所有服务时间,让操作系统为您处理观察部分......

<receiver android:name=".ReceiverExample">
<intent-filter>
<action android:name="android.intent.action.PHONE_STATE" />
</intent-filter>
</receiver>

现在,在您的广播接收器类“ReceiverExample”中,创建一个 SharedPreference 来存储传入调用的​​数量,并且基于此,您可以验证是否是时候做其他事情了......

  public class ReceiverExample extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
//Logic to listen incoming calls, and keep track of them using Shared Preferences..
}
}

服务适用于长期任务,但操作系统本身非常适合监控/观察事件(如电话事件,例如来电......),尽量不要通过创建服务来重新做操作系统工作,只是为了监控已经已知事件...

问候

关于java - Android检测来电?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16928753/

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