final long time1 = System.currentTimeMillis();
Calendar c = Calendar.getInstance();
c.set(mYear, mMonth, mDay, mHour, mMinute);
long time2 = c.getTimeInMillis();
if (flag&&(time2-time1)>0&&on_off==1){
am.set(AlarmManager.RTC, time2, pi);
我用当前时间 time1就提醒 用time2就不提示了 但是logcat里面没报错 这是为什么呀 一直弄不明白求

解决方案 »

  1.   

    多貼些代碼撒Log輸出下Time2的值,看下對不對
      

  2.   

    //设置通知提示
    private void setAlarm(boolean flag){
    final String BC_ACTION="cn.my.service.TaskReciver";
    // 获得AlarmManager实例
    final AlarmManager am = (AlarmManager) getSystemService(ALARM_SERVICE);
    // 实例化Intent
    Intent intent = new Intent();
    // 设置Intent action属性
    intent.setAction(BC_ACTION);
    intent.putExtra("msg", content);
    // 实例化PendingIntent
    final PendingIntent pi = PendingIntent.getBroadcast(
    getApplicationContext(), 0, intent, 0);
    // 获得系统时间
    final long time1 = System.currentTimeMillis();
    Calendar c = Calendar.getInstance();
    c.set(mYear, mMonth, mDay, mHour, mMinute);
    long time2 = c.getTimeInMillis();
    if (flag&&(time2-time1)>0&&on_off==1){
    am.set(AlarmManager.RTC_WAKEUP, System.currentTimeMillis(), pi);
    }else{
    am.cancel(pi);
    }
    }
    帮帮我啊 着急中