警报未触发

时间:2013-09-04 01:51:10

标签: android android-alarms

我曾经多次使用闹钟,但是我不能因为我的生活而触发......我做错了什么?我试过触发服务,BroadcastReceivers,一切。我试过从早期和未来(从现在起5秒)触发它。据我所知,它已被设置,它不会抛出错误而我的日志正在触发...但是AlarmReceiver中没有任何内容被触发。

public void setAlarm() {
            Calendar exp = Calendar.getInstance();
            exp.set(Calendar.SECOND, 5);

            AlarmManager am = (AlarmManager)mContext.getSystemService(Context.ALARM_SERVICE);
            am.set(AlarmManager.RTC_WAKEUP, exp.getTimeInMillis(),  PendingIntent.getService(mContext, 0, new Intent(mContext, AlarmReceiver.class), 0));
            Log.i("", "Alarm set for " + DateFormat.format("MMMM dd, yyyy hh:mma", exp.getTime()));

        }

    }

public class AlarmReceiver extends Service {

    @Override
    public IBinder onBind(Intent intent) {
        Log.d("", "onBind Tiggered");
        return null;
    }

    public void onCreate() {
        Log.d("", "onCreate Triggered");
    }
}

2 个答案:

答案 0 :(得分:2)

不要忘记将您的服务添加到您的清单!!

答案 1 :(得分:0)

如果你在一分钟的前5秒内运行它,那么时间将只是将来。

您应该使用calendar.add(field, value);添加时间。

如果您所在的时区除了GMT,那么可能也会关闭日历。

要设置闹钟5秒钟,最简单的方法就是这样:

alarmManager.set(AlarmManager.RTC_WAKEUP, System.currentTimeMillis() + (5 * 1000), pendingIntent);