静态报警管理器

时间:2013-08-05 14:10:55

标签: android

在我的应用程序中,我使用重复的AlarmManager。我为每个计时器创建了一个类;我已经宣布它们是静态的,因为我需要在我的应用程序的不同类中取消该计时器。

以下是代码:

public class TimerSyncOff {

public static final String intentExtra = "SyncOff";

public static void SetAlarm(Context context)
{
    AlarmManager am =(AlarmManager)context.getSystemService(Context.ALARM_SERVICE);
    PendingIntent pi = PendingIntent.getBroadcast(context, 0, getIntent(), PendingIntent.FLAG_UPDATE_CURRENT);


    long trigger = 800000;
    long interval = 900000;



    am.setRepeating(AlarmManager.ELAPSED_REALTIME_WAKEUP, trigger,interval, pi);

}

public static void Stop(Context context)
{ 
    try{
        AlarmManager am =(AlarmManager)context.getSystemService(Context.ALARM_SERVICE);
        PendingIntent pi = PendingIntent.getBroadcast(context, 0, getIntent(), PendingIntent.FLAG_UPDATE_CURRENT);
        am.cancel(pi);

    }catch (Exception e){}  

}

private static Intent getIntent(){
    Intent i = new Intent(intentExtra);
    return i;
}

如果我在运行应用程序后不久尝试取消计时器,这可以正常工作;但如果我尝试取消它,就像它运行一天后,没有错误被播出,但计时器没有停止并继续运行。 难道我做错了什么?谢谢!

0 个答案:

没有答案