警报无法停止

时间:2015-06-01 11:58:53

标签: android alarmmanager

我知道这很简单,可以做任何人,但我被困在这个plz帮助中我错了

一个人认为非常重要我从one.class开始并在second.class中停止,我可以在开始的第3天或第4天停止。

我像这样开始报警

 //set Alarm method
     private void SetAutoCleanningService()
        {           
             long when= System.currentTimeMillis() + 1000*20;
             long repeattime =Constant.NOTIFICATION_TimeDiff;
             if(Constant.IsDebug)
                 System.out.println("time to trigger is ="+getDate(when, "dd/MM/yyyy hh:mm:ss.SSS"));
             Intent intent = new Intent(this, AutoCleaningBroadCast.class);
             intent.setAction("systweak.AutoCleanningBroadCast");
             PendingIntent pendingIntent = PendingIntent.getBroadcast(ApplicationSetting.this,1234567, intent, 0);
             AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);
             alarmManager.setRepeating(AlarmManager.RTC_WAKEUP,  when, repeattime,pendingIntent);
         }

像这样停下来

//close Alarm method
     private void StopEarlierAlarm() {
        // TODO Auto-generated method stub
         AlarmManager aManager = (AlarmManager) getSystemService(ALARM_SERVICE);         
         Intent intent = new Intent(getBaseContext(), AutoCleaningBroadCast.class);  
         PendingIntent pIntent = PendingIntent.getBroadcast(ApplicationSetting.this, 1234567, intent,0);         
         aManager.cancel(pIntent);
    }

我使用相同的请求代码,但无法停止并在每个闹钟上显示一条通知,该通知将在每次报警中重复

3 个答案:

答案 0 :(得分:1)

你可以取消这样的警报:

 Intent intent = new Intent(this, Mote.class);
 PendingIntent pendingIntent = PendingIntent.getBroadcast(getApplicationContext(), 1352, intent, 0);
 AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);
 alarmManager.cancel(pendingIntent);

此外,您应该从设置警报的代码中调用getBroadcast()中删除Intent.FILL_IN_DATA。

答案 1 :(得分:0)

取消PendingIntent

pIntent.cancel();

确保创建context时使用的intent相同。

如果无法使用相同的Context,则将intent创建为全局静态变量并稍后使用。

答案 2 :(得分:0)

$("#btnId").click(function(){

   var IsValid=true;
   if($("#txtName").val()=="")
   {
       IsValid=false;          
       //Apply the classes that you have identified
       $("#txtName").attr("class","className");          

   }
   else
   {
     //Apply normal class 
     $("#txtName").attr("class","className");     
   }


   if(IsValid)
   {
     return True;
   } 
   else
   {
     return False;
   }


});

步骤1:初始化警报管理器。

Check this, it may help you