gpt4 book ai didi

android - alarmmanager 中的延迟 .. 当两个警报同时存在时

转载 作者:行者123 更新时间:2023-11-30 04:13:13 26 4
gpt4 key购买 nike

我安排了多个警报管理器在不同时间发送 Intent 。我注意将唯一 ID、上下文和附加信息传递给两个待处理的 Intent 。 下面的 func 处理报警调用。.

public void handle(int duration, int id){
Intent intent = new Intent("package.SET");
intent.putExtra ("package.id", Id);
AlarmManager amg = (AlarmManager)Context.getSystemService(Context.ALARM_SERVICE);
PendingIntent pis = PendingIntent.getBroadcast(Context,Id, intent, FLAG_ONE_SHOT);
amg.set(AlarmManager.RTC_WAKEUP, System.currentTimeMillis() + time, pis); }

调用闹钟的函数有2个

public void callalarm(int time){
handle(time, UNIQUE_ID1);}

public void callalarm2(int time){
handle(time, UNIQUE_ID2);}

我注意唯一 ID1 和 Unique_ID2 是不同的。广播接收器处理警报并执行另一个代码。Callalarm1 和 callalarm2 是否有可能相互干扰。

I have registered the receiver using registerReceiver function and not in android manifest file.

       IntentFilter ARFilter = new IntentFilter();
ARFilter.addAction("package.SET");
context.registerReceiver(AR, ARFilter);

在扩展广播接收器的 AR 中,我使用 id 来定义操作。

public BroadcastReceiver AR= new BroadcastReceiver()
{ public void onReceive(Context context, Intent intent)
{ // i do some stuff here which is confidential
}}

问题是,我的警报延迟了。有延迟的原因吗?

最佳答案

据我所知,当处理器的任务负担很重时,Alarm Manager 无法在正确的时间触发。

换句话说,广播接收器没有及时接收到 Intent ,因为警报管理器将广播添加到发送延迟的队列中。

准确的信息很有帮助。

关于android - alarmmanager 中的延迟 .. 当两个警报同时存在时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10485311/

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