每隔一段时间用android发送一个通知
Posted
技术标签:
【中文标题】每隔一段时间用android发送一个通知【英文标题】:Send a notification with android at an interval 【发布时间】:2016-12-24 05:31:48 【问题描述】:我正在尝试将通知设置为在某个时间间隔后出现。我预计这会起作用,但是在我的手机上运行代码时似乎什么都没有发生,除了接收器被打印到控制台时,我似乎无法找出原因。任何帮助将不胜感激。
这是用于设置闹钟的代码。
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.SECOND, 10);
Intent intent = new Intent(getApplicationContext(), NotificationReciever.class);
PendingIntent pendingIntent = PendingIntent.getBroadcast(getApplicationContext(), 100, intent, PendingIntent.FLAG_UPDATE_CURRENT);
AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);
alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), AlarmManager.INTERVAL_FIFTEEN_MINUTES, pendingIn
这是通知接收器类
public class NotificationReceiver extends BroadcastReceiver
@Override
public void onReceive(Context context, Intent intent)
System.out.println("at reciever");
NotificationManager notificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
Intent repeatingIntent = new Intent(context, LoginActivity.class);
repeatingIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
PendingIntent pendingIntent = PendingIntent.getActivity(context, 100, repeatingIntent, PendingIntent.FLAG_UPDATE_CURRENT);
NotificationCompat.Builder builder = new NotificationCompat.Builder(context)
.setContentIntent(pendingIntent)
.setContentTitle("Please Leave at the cage")
.setContentText("It almost 5")
.setAutoCancel(true);
notificationManager.notify(100, builder.build());
这里是相关的清单行 接收者 android:name=".NotificationReciever" 使用权限 android:name="com.android.alarm.permission.SET_ALARM"
【问题讨论】:
com.android.alarm.permission.SET_ALARM
这不是基本通知所必需的
【参考方案1】:
基本上你需要为每个通知设置一个图标。
NotificationCompat.Builder builder = new NotificationCompat.Builder(context)
.setContentIntent(pendingIntent)
.setContentTitle("Please Leave at the cage")
.setSmallIcon(R.drawable.crosshair); //crosshair is the icon choice in this example
.setContentText("It almost 5")
.setAutoCancel(true);
【讨论】:
以上是关于每隔一段时间用android发送一个通知的主要内容,如果未能解决你的问题,请参考以下文章
在特定时间重复本地通知,并在同一时间后每隔一段时间重复一次本地通知