AlarmManager am;        //闹钟对象
 am = (AlarmManager)getApplicationContext().getSystemService(getApplicationContext().ALARM_SERVICE);   
 Intent intentAction=new Intent(getApplicationContext(),b.class);    //b.java是一个activity
 PendingIntent pendingIntent_Activity=PendingIntent.getActivity(getApplicationContext()
, 1
, intentAction
, Intent.FLAG_ACTIVITY_NEW_TASK);
am.setRepeating(AlarmManager.RTC_WAKEUP,  System.currentTimeMillis()+1000*10*10, 1000*60*60*24*7, pendingIntent_Activity);
设置一个小时后显示b.java这个activity。
大神们,我设置完闹钟后,又把手机设置成待机状态,为什么到了点以后,b.java这个activity不能显示啊?我用的AlarmManager.RTC_WAKEUP这个参数啊,理论是可以从待机状态唤醒系统的啊?
跪求解答

解决方案 »

  1.   

    PendingIntent方法调用错误。。该写成下面这样AlarmManager am; //闹钟对象
      am = (AlarmManager)getApplicationContext().getSystemService(getApplicationContext().ALARM_SERVICE);    Intent intentAction=new Intent(getApplicationContext(),b.class); 
      PendingIntent pendingIntent_Activity=PendingIntent.getBroadCast(getApplicationContext()
     , 0
     , intentAction
     , 0);
    /*设置周期闹钟  至于参数 我没看*/
    am.setRepeating(AlarmManager.RTC_WAKEUP, System.currentTimeMillis()+1000*10*10, 1000*60*60*24*7, pendingIntent_Activity);
      

  2.   

    PendingIntent pendingIntent_Activity=PendingIntent.getBroadCast(getApplicationContext()
     , 0
     , intentAction
     , 0);
    有错吗?  第一个 “0”代表的是闹钟服务的ID,不一定写成 0  写成 1,2,3都可以的啊
    希望楼上解答
      

  3.   

    我用的是PendingIntent.getBroadCast,到点后发送一个广播。b.java则换成广播接收者,在onReceive方法中处理事情。楼主设的也不是1个小时啊。