我正在尝试在我的应用中创建每周提醒。为此我使用AlarmManager。 这是代码生成警报
pendingIntent = PendingIntent.getBroadcast(SettingsActivity.this, 1234567, new Intent(SettingsActivity.this, WeeklyReminder.class), 0);
AlarmManager alarmManager = (AlarmManager)getSystemService(ALARM_SERVICE);
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(System.currentTimeMillis());
calendar.add(Calendar.SECOND, 30);
long updateFreq = 30*1000;//24*60*60*1000;
alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), updateFreq, pendingIntent);
这是扩展广播的每周余数类
public class WeeklyReminder extends BroadcastReceiver
{
@Override
public void onReceive(Context context, Intent intent)
{
// TODO Auto-generated method stub
try
{
System.out.println("Alarm Initiated");
Toast.makeText(context, "Recieved Alarm", Toast.LENGTH_SHORT).show();
}
catch (Exception e)
{
Toast.makeText(context, "There was an error somewhere, but we still received an alarm", Toast.LENGTH_SHORT).show();
e.printStackTrace();
}
}
}
在androidmanifest.xml中,我在标记
之前有这个条目<receiver android:name="WeeklyReminder">
我希望即使应用关闭也会调用提醒。但现在什么也没发生 这是正确的做法吗? 感谢
答案 0 :(得分:0)
我解决了这个问题,并将其用于将来可能会遇到同样问题的人。 在androidmanifest文件中,我错过了'。'即代替“.WeeklyReminder”我使用的是“WeeklyReminder”
所以正确的输入是
<receiver android:name=".WeeklyReminder">