11
我已經有一個每天發生火災的警報FLAG_UPDATE_CURRENT
。這是來自開發者控制檯的日誌。Firebase發射太多警報
java.lang.SecurityException: [email protected] 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)
我使用火力地堡9.6.1。
UPDATE:
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);
}
}
這個問題會幫助你http://stackoverflow.com/questions/29344971/java-lang-securityexception-too-many-alarms-500-registered-from-pid-10790-u/29703161 –
不,它贏了「T。首先它沒有提到任何關於火力點的內容。其次,我已經在使用'FLAG_UPDATE_CURRENT'。 – mjosh
這似乎是Firebase中的內部錯誤。正如firebase google小組所述(https://groups.google.com/forum/#!topic/firebase-talk/Q_zycHnTGu0),即使您沒有在您的網站上使用任何鬧鐘,問題也會出現(對於三星設備最多)應用程序。 –