NotificationManager notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
Notification notification = new Notification(R.drawable.ic_launcher, "新消息", System.currentTimeMillis());
//采用默认声音
notification.defaults |= Notification.DEFAULT_SOUND;
//使用默认的灯光
notification.defaults |= Notification.DEFAULT_LIGHTS;
//通知被点击后,自动消失
notification.flags |= Notification.FLAG_AUTO_CANCEL;
//点击'Clear'时,不清楚该通知(QQ的通知无法清除,就是用的这个)
notification.flags |= Notification.FLAG_NO_CLEAR;
// 点击清除按钮不会清除消息通知,可以用来表示在正在运行
notification.flags |= Notification.FLAG_ONGOING_EVENT;
Intent appIntent = new Intent(context, EventActivity.class);
appIntent.addCategory(Intent.CATEGORY_LAUNCHER);
appIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED);
PendingIntent contentIntent = PendingIntent.getActivity(context, 0, appIntent, PendingIntent.FLAG_UPDATE_CURRENT);
// notification.setLatestEventInfo(context, title, desc, contentIntent);
notification.setLatestEventInfo(context, "新消息", "“伊斯兰国”攻势不停 美向库尔德人提供武器", contentIntent);
notificationManager.notify(messageNotificationID, notification);
PendingIntent.getActivity 无法跳转到activity?
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
1条回答 默认 最新
你知我知皆知 2024-08-02 11:55关注以下回答参考 皆我百晓生、券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。
PendingIntent.getActivity()方法用于创建一个可操作的PendingIntent对象。这通常用于启动一个新的活动或服务。然而,在你的示例中,你尝试使用
PendingIntent.getActivity()来发送一个Intent到一个新的活动(EventActivity),但似乎没有成功。这意味着你可能有以下几种情况:EventActivity类没有实现Intent接口。- 没有正确地将
Intent添加到PendingIntent实例中。 - 在调用
setLatestEventInfo()之前,Intent还没有被正确地传递给PendingIntent。
要解决这些问题,请确保:
EventActivity类实现了Intent接口,并且包含正确的意图信息。- 将正确的
Intent添加到PendingIntent实例中。 - 在调用
setLatestEventInfo()之前,确保所有的意图都已经被传递给PendingIntent实例。
例如:
// 创建一个新的Intent并设置其内容 Intent intent = new Intent(context, EventActivity.class); intent.addCategory(Intent.CATEGORY_LAUNCHER); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED); // 创建一个新的PendingIntent实例 PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT); // 设置最新的事件信息 notification.setLatestEventInfo(context, "新消息", "“伊斯兰国”攻势不停 美向库尔德人提供武器", pendingIntent);希望这些信息能帮助你解决问题!如果你还有其他问题或需要进一步的帮助,请随时告诉我。
解决 无用评论 打赏 举报