Android警报未触发

时间:2014-03-25 10:00:26

标签: java android alarmmanager

我正在尝试使用android报警管理器注册一个警报,似乎无法弄清楚为什么警报不会被触发。我在网上看了很多例子,我的代码似乎做了他们建议的同样的事情,但仍然没有成功。我在android 4.4(KitKat)上运行它

以下是我设置闹钟的方法:

public void registerAlarm(Context context, int hour, int minute) {
    AlarmManager alarmMgr = (AlarmManager) context.getSystemService(
            Context.ALARM_SERVICE);
    Intent intent = new Intent(context, AlarmReciever.class);
    PendingIntent alarmIntent = PendingIntent.getBroadcast(context,
            0, intent, 0);
    Calendar calendar = Calendar.getInstance();
    calendar.set(Calendar.HOUR_OF_DAY, hour);
    calendar.set(Calendar.MINUTE, minute);
    calendar.set(Calendar.SECOND, 0);
    alarmMgr.setRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), 10000,
            alarmIntent);
}

以下是我的接收器:

package com.alarm.alarm;

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.widget.Toast;

public class AlarmReciever extends BroadcastReceiver {

    @Override
    public void onReceive(Context context, Intent intent) {
        Toast.makeText(context, "recieved", Toast.LENGTH_LONG).show();
   }
}

以下是我在清单

中声明接收器的方法
<receiver android:name="com.alarm.alarm.AlarmReceiver">
</receiver>

这是SET ALARM权限

<uses-permission android:name="com.alarm.permission.SET_ALARM"/>

我几个小时都被困在这个问题上。任何有关我可能做错的澄清都将不胜感激!

1 个答案:

答案 0 :(得分:3)

您的Broadcast班级名称错误,AlarmReceiver

应为AlarmReciever而不是Manifest