我正在使用警报管理器并将其放入我的代码中,以防止警报管理器在有人使用任务杀手退出应用程序时停止。问题是如果用户想取消警报它不起作用并且警报仍然响起。
下面是防止应用程序被杀死时停止警报的代码
public Thread.UncaughtExceptionHandler getUncaughtExceptionHandler() {
am = (AlarmManager) getActivity().getSystemService(Context.ALARM_SERVICE);
am.set(AlarmManager.RTC, System.currentTimeMillis() + 2000, pi);
System.exit(2);
return null;
}
下面是故意杀死警报的代码
if(pi != null){
am.cancel(pi);
Toast.makeText(getActivity(), "All Alarms Canceled", Toast.LENGTH_SHORT).show();
}else{
Toast.makeText(getActivity(), "You have no Alarms", Toast.LENGTH_SHORT).show();
}
pi(待定意图)和 am 都设置为全局变量。