我正在尝试使用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"/>
我几个小时都被困在这个问题上。任何有关我可能做错的澄清都将不胜感激!
答案 0 :(得分:3)
您的Broadcast
班级名称错误,AlarmReceiver
AlarmReciever
而不是Manifest