我正在使用一个警报管理器并将其放入我的代码中,以防止警报管理器在有人使用任务杀手退出应用程序时停止。问题是如果用户想要取消它不起作用的警报并且警报仍然响起。
以下是防止应用程序被杀时警报停止的代码
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都被设置为全局变量。