如何在android中的片段中创建特定日期和时间的通知
My fragment类包含以下代码:如何在android中的片段中创建特定日期和时间的通知,android,android-fragments,push-notification,Android,Android Fragments,Push Notification,My fragment类包含以下代码: Intent intent = new Intent(getActivity(), AlarmReceiver.class); intent.putExtra("notificationId", notificationId); intent.putExtra("todo",hello); PendingIntent alarmIntent = PendingIntent.getBroadcast(getActivity(), 0,
Intent intent = new Intent(getActivity(), AlarmReceiver.class);
intent.putExtra("notificationId", notificationId);
intent.putExtra("todo",hello);
PendingIntent alarmIntent = PendingIntent.getBroadcast(getActivity(), 0,
intent, PendingIntent.FLAG_CANCEL_CURRENT);
AlarmManager alarm = (AlarmManager) getActivity().getSystemService(ALARM_SERVICE);
Calendar startTime = Calendar.getInstance();
startTime.set(2018,3,18,20,30,0);
long alarmStartTime = startTime.getTimeInMillis();
alarm.set(AlarmManager.RTC_WAKEUP, alarmStartTime, alarmIntent);
AlarmReceiver.class包含以下内容
public class AlarmReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
// Get id & message from intent.
int notificationId = intent.getIntExtra("notificationId", 0);
String message = intent.getStringExtra("todo");
// When notification is tapped, call MainActivity.
Intent mainIntent = new Intent(context, MainActivity.class);
PendingIntent contentIntent = PendingIntent.getActivity(context, 0, mainIntent, 0);
NotificationManager myNotificationManager =
(NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
// Prepare notification.
Notification.Builder builder = new Notification.Builder(context);
builder.setSmallIcon(android.R.drawable.ic_dialog_info)
.setContentTitle("It's Time!")
.setContentText(message)
.setWhen(System.currentTimeMillis())
.setAutoCancel(true)
.setContentIntent(contentIntent)
.setPriority(Notification.PRIORITY_MAX)
.setDefaults(Notification.DEFAULT_ALL);
// Notify
myNotificationManager.notify(notificationId, builder.build());
}
}
运行应用程序时,不会在2018年4月18日下午8:30创建通知
向我建议一些更改,以便我可以很好地运行此应用。尝试更改标志
pendingent。标志\u CANCEL\u CURRENT
至pendingent.FLAG\u UPDATE\u CURRENT
我希望这有帮助欢迎来到Stack Overflow!现在很难理解你在问什么。请提供一份报告。为了有效地帮助您,我们需要重现您描述的问题。您能看一下您的代码格式吗?我只想通过一个片段类在指定的日期和时间生成一个通知。你能给我一个简短的密码吗。。非常感谢您在
AlarmReceiver
的清单中是否有
元素?如果是,是否在正确的位置;i、 例如,在
标记之间,但不在任何其他标记内?听筒到底在开吗?你是怎么决定的?你在测试哪个版本的Android?从API级别26(Oreo)开始,通知要求您使用频道。谢谢MIKE。。。我的清单文件中缺少标记否。。。什么也没发生