Создать напоминание в приложении для Android - PullRequest
0 голосов
/ 06 октября 2011

Я пытаюсь создать еженедельное напоминание в моем приложении.Для этого я использую 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">

Я хочу, чтобы напоминание вызывалось, даже когда приложение закрыто.Но сейчас ничего не происходит. Это правильный способ сделать это?Спасибо

1 Ответ

0 голосов
/ 07 октября 2011

Я решил проблему и поставил ее для кого-то, кто может столкнуться с той же проблемой в будущем. В файле androidmanifest мне не хватало '.' т.е. вместо ".WeeklyReminder" я использовал "WeeklyReminder"

Итак, правильная запись -

<receiver  android:name=".WeeklyReminder">
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...