1

我正在使用警报管理器并将其放入我的代码中,以防止警报管理器在有人使用任务杀手退出应用程序时停止。问题是如果用户想取消警报它不起作用并且警报仍然响起。

下面是防止应用程序被杀死时停止警报的代码

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 都设置为全局变量。

4

0 回答 0