在我的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();
}
它工作正常但是要设置通知我需要设置通知管理器,它只能在活动扩展类中正常工作,如何在接收和通知时使用它。
请分享您宝贵的建议。
提前致谢:)
答案 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