Create reminder in android app

时光毁灭记忆、已成空白 提交于 2020-01-06 14:18:05

问题


I am trying to create a weekly reminder in my app. For this I am using AlarmManager. Here is the code generating alarm

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);

This is the weekly remainder class which extends broadcast

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();
        }
    }

}

In androidmanifest.xml I have this entry before the tag

<receiver  android:name="WeeklyReminder">

I want the reminder to be invoked even when the app is closed. But now nothing is happening Is it the right way of doing it? Thanks


回答1:


I resolved the issue and putting it for someone who may come across the same problem in future. In androidmanifest file I was missing '.' ie instead of ".WeeklyReminder" I was using "WeeklyReminder"

So the correct entry is

<receiver  android:name=".WeeklyReminder">


来源:https://stackoverflow.com/questions/7676854/create-reminder-in-android-app

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!