在闹钟接收器android上设置通知

时间:2011-03-15 04:54:16

标签: android

在我的Android应用程序中,我想以编程方式设置alaram。 设置警报工作正常,但如何在接收警报时对此应用通知。

我在开发者指南中看过通知。

请找到代码。

Calendar cal=Calendar.getInstance();
    Intent alaram=new Intent(Alarmmanager.this,GroupsCheckAlarmReceiver.class);
    PendingIntent pendingIntent = PendingIntent.getBroadcast(Alarmmanager.this, 0, alaram,0);
    AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);
    alarmManager.set(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(),pendingIntent); 
    cal.setTimeInMillis(System.currentTimeMillis()); 

    sendBroadcast(alaram,"setalaram");

和广播接收器

public class GroupsCheckAlarmReceiver extends BroadcastReceiver{ 

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

 } 

它工作正常但是要设置通知我需要设置通知管理器,它只能在活动扩展类中正常工作,如何在接收和通知时使用它。

请分享您宝贵的建议。

提前致谢:)

2 个答案:

答案 0 :(得分:6)

我认为您可以使用context中的onReceive来查找NotificationManager并致电notify

@Override 
public void onReceive(Context context, Intent intent) {
    NotificationManager notifications = (NotificationManager)
        context.getSystemService(Context.NOTIFICATION_SERVICE);
    notifications.notify( ... );
}

如果您有Context,您可以做任何事情! :)

答案 1 :(得分:0)

您可能会发现只使用BuzzBox SDK来安排任务和创建通知很有用。它支持crontab字符串来安排重复任务。 BuzzBox SDK Website