Too many alarms (500) registered
来源:互联网 发布:印刷开单软件 编辑:程序博客网 时间:2024/05/17 22:25
项目发布后,收集部分用户反馈以下BUG:
StackTrace=!@Too many alarms (500) registered from pid 5354 uid 10152java.lang.SecurityException: !@Too many alarms (500) registered from pid 5354 uid 10152
at android.os.Parcel.readException(Parcel.java:1546)
at android.os.Parcel.readException(Parcel.java:1499)
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)
这个BUG基本都是在三星机器上出现,主要解决方法有:
1. 不要使用AlarmManager.setRepeating方法。
setRepeating注册的闹钟会常驻在Android系统进程里,那怕应用进程被杀掉,闹钟也不会被取消。
如果需要重复性的闹钟,可以在接到闹钟广播后,再重新启动一个闹钟,自己模拟setRepeating。
2. 通常设置闹钟的代码如下
Intent intent = new Intent("com.matt.example.action.alarm"); PendingIntent pendingIntent = PendingIntent.getBroadcast(mContext, requestCode, intent, PendingIntent.FLAG_UPDATE_CURRENT); mAlarmManager.set(AlarmManager.RTC_WAKEUP, triggerAtTime, pendingIntent);
PendingIntent.getBroadcast的第2个参数requestCode可以用来区分不同的闹钟。建议同一个功能使用的闹钟(假设你应用里有多个功能都用到闹钟),其requestCode应当是一个常量,不应该是一个变化的值。如果是一个变化的值,应用被杀死后重启,同一个功能就可能有多个闹钟。
PendingIntent.getBroadcast的第4个参数flags,建议用PendingIntent.FLAG_UPDATE_CURRENT,否则应用被杀死重启,也可能有多个相同闹钟。
最后,修改后覆盖安装,你可能会发现还有这个crash。relax, 这不是你的错。重启手机即可。因为覆盖安装,旧版本注册的闹钟还是在的,只有重启手机才会清空。
- Too many alarms (500) registered
- Too many alarms (500) registered
- Too many alarms (500) registered
- Too many alarms (500) registered
- java.lang.SecurityException: !@Too many alarms (500) registered from pid 10790 uid 10206
- Too many connections
- too many open files
- too many open files
- mysql: Too many connections
- too many unprocessed floats
- too many unprocessed floats
- Too many open files
- Too many input arguments.
- mina too many files
- too many open files
- shell [: too many arguments
- mysql Too many connections
- Too many open files
- unity shaderlab Blend操作
- iOS swift动画和特效专题
- 统计指定文件夹下的文件数量
- Jquery获取css中id和class样式的动作-#id和.class
- getParameter和getAttribute的区别
- Too many alarms (500) registered
- AtomicInteger原理(待补充)
- 项目管理的一二四法则
- Jquery Ajax调用aspx页面方法
- 42-44组合模式
- Hdu 1068 Girls and Boys【最大匹配】
- 我的收藏集
- Android JSBridge的原理与实现 (prompt和javascript)
- AngularJS自定义指令