如何解决一个应用程序上的许多通知如何在不同时间创建多个不同内容的通知?
我想在我的应用中创建 3 个通知。他们将在一天中的不同时间出现。他们都会有不同的内容。我的代码如下所示:
public class NotificationHelper {
private Context mContext;
private static final String NOTIFICATION_CHANNEL_ID = "1001";
NotificationHelper(Context context){
mContext = context;
}
void createNotification(){
Intent intent = new Intent(mContext,NotificationActivity.class);
MyDBHandler myDBHandler = new MyDBHandler( mContext,null,3);
int id;
id = (int)Math.floor((Math.random() * 93) + 1);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
PendingIntent resultPendingIntent = PendingIntent.getActivity(mContext,intent,PendingIntent.FLAG_UPDATE_CURRENT);
NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(mContext,NOTIFICATION_CHANNEL_ID);
mBuilder.setSmallIcon(R.drawable.ic_stat_name);
mBuilder.setContentTitle( myDBHandler.loadHandlerTitle(id));
mBuilder.setContentText(myDBHandler.loadHandlerText(id));
mBuilder.setStyle(new NotificationCompat.BigTextStyle());
mBuilder.setPriority(Notification.PRIORITY_MAX);
mBuilder.setSound(Settings.System.DEFAULT_NOTIFICATION_URI);
mBuilder.setVibrate(new long[]{1000});
mBuilder.setContentIntent(resultPendingIntent);
mBuilder.setAutoCancel(false);
notificationmanager notificationmanager = (notificationmanager) mContext.getSystemService(Context.NOTIFICATION_SERVICE);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O)
{
int importance = notificationmanager.IMPORTANCE_HIGH;
NotificationChannel notificationChannel = new NotificationChannel(NOTIFICATION_CHANNEL_ID,"NOTIFICATION_CHANNEL_NAME",importance);
notificationChannel.enableLights(true);
mBuilder.setLights(Color.GREEN,500,500);
notificationChannel.enableVibration(true);
assert notificationmanager != null;
mBuilder.setChannelId(NOTIFICATION_CHANNEL_ID);
notificationmanager.createNotificationChannel(notificationChannel);
}
assert notificationmanager != null;
notificationmanager.notify(0,mBuilder.build());
}
}
public class NotificationActivity extends broadcastReceiver {
@Override
public void onReceive(Context context,Intent intent) {
NotificationHelper notificationHelper = new NotificationHelper(context);
notificationHelper.createNotification();
}
}
public class NotificationReceiver extends broadcastReceiver {
@Override
public void onReceive(Context context,Intent intent) {
NotificationHelper notificationHelper = new NotificationHelper(context);
notificationHelper.createNotification();
}
}
public void MyAlarmDailyAdvice() {
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.HOUR_OF_DAY,9);
calendar.set(Calendar.MINUTE,0);
calendar.set(Calendar.SECOND,0);
if (calendar.getTime().compareto((new Date())) < 0)
{
calendar.add(Calendar.DAY_OF_MONTH,1);
}
Intent intent = new Intent(getApplicationContext(),NotificationReceiver.class);
PendingIntent pendingIntent = PendingIntent.getbroadcast(getApplicationContext(),PendingIntent.FLAG_UPDATE_CURRENT);
AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);
if(alarmManager != null){
alarmManager.setRepeating(AlarmManager.RTC_WAKEUP,calendar.getTimeInMillis(),AlarmManager.INTERVAL_DAY,pendingIntent);
}
}
如何使用此代码创建多个通知?我可以在同一个通知渠道创建多个通知吗?我试图复制和更改名称、通知 ID、通知渠道等,但它不起作用。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。