gpt4 book ai didi

android - Firebase 发出太多警报

转载 作者:塔克拉玛干 更新时间:2023-11-02 07:49:03 28 4
gpt4 key购买 nike

我已经有一个每天触发的警报,它具有 FLAG_UPDATE_CURRENT。这是来自开发人员控制台的日志。

java.lang.SecurityException: !@Too many alarms (500) registered from pid 32326 uid 10206
at android.os.Parcel.readException(Parcel.java:1540)
at android.os.Parcel.readException(Parcel.java:1493)
at android.app.IAlarmManager$Stub$Proxy.set(IAlarmManager.java:206)
at android.app.AlarmManager.setImpl(AlarmManager.java:428)
at android.app.AlarmManager.set(AlarmManager.java:215)
at com.google.firebase.iid.FirebaseInstanceIdService.zzagl(Unknown Source)
at com.google.firebase.iid.FirebaseInstanceIdService.zzd(Unknown Source)
at com.google.firebase.iid.FirebaseInstanceIdService.zza(Unknown Source)
at com.google.firebase.iid.FirebaseInstanceIdService.zzm(Unknown Source)
at com.google.firebase.iid.zzb$2.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
at java.lang.Thread.run(Thread.java:818)

我正在使用 Firebase 9.6.1


更新:

public static void setAlarm(Context context, boolean isSet) {
try {
AlarmManager am = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
Intent intent = new Intent(context, AlarmReceiver.class);

boolean isWorking = (PendingIntent.getBroadcast(context,
SettingsActivity.REQUEST_CODE, intent, PendingIntent.FLAG_NO_CREATE) != null);

if (isSet && !isWorking) {
PendingIntent sender = PendingIntent.getBroadcast(context,
SettingsActivity.REQUEST_CODE, intent,
PendingIntent.FLAG_UPDATE_CURRENT);

Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(System.currentTimeMillis());

calendar.set(Calendar.HOUR, 10);
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.SECOND, 0);

am.setInexactRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(),
AlarmManager.INTERVAL_DAY, sender);
} else {
PendingIntent pendingIntent = PendingIntent.getBroadcast(context,
SettingsActivity.REQUEST_CODE, intent,
PendingIntent.FLAG_CANCEL_CURRENT);
am.cancel(pendingIntent);
pendingIntent.cancel();
}
} catch (Exception e) {
Crashlytics.logException(e);
}
}

最佳答案

根据 this thread ,该错误已由 Firebase 团队在 10.0 版本中修复。发行说明是 here .

关于android - Firebase 发出太多警报,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40080385/

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