我在android中有一个应用程序,我希望在某些情况下将活动带到前台。我使用NotificationManager。这是我的代码。问题是,活动在第一时间成功实现,但事实并非如此。此外,此代码从服务运行。
Intent notificationIntent = new Intent(context, MainActivity.class);
PendingIntent contentIntent = PendingIntent.getActivity(context, 0, notificationIntent, 0);
NotificationCompat.Builder mBuilder =
new NotificationCompat.Builder(this)
.setSmallIcon(R.drawable.ic_launcher)
.setContentIntent(contentIntent)
.setContentTitle("Bring me front!")
.setContentText("Bring me!!! BRING!!!")
.setFullScreenIntent(contentIntent, true);
NotificationManager mNotificationManager = (NotificationManager) this.getSystemService(Context.NOTIFICATION_SERVICE);
mNotificationManager.notify(0, mBuilder.build());
答案 0 :(得分:2)
要检查的几件事情:
FLAG_ACTIVITY_NEW_TASK
(可能FLAG_ACTIVITY_CLEAR_TOP
)以确保将活动带到前线。fullScreenIntent
一起使用。答案 1 :(得分:1)
NotificationManager具有(未记录的)行为,如果您发布的新通知与已经处于活动状态的ID相匹配,它将忽略 fullScreenIntent字段。
答案 2 :(得分:0)
我有类似的问题。就我而言,我错过了两件事: