我启动了一个显示通知的前台服务。如果我的活动被隐藏了,我想通过点击通知开始。 onStartCommand中调用的函数执行此操作:
startForeground(noti_id, mNoti);
通知显示并有效,但不会重新激活我的MainActivity:
notiIntent = new Intent(this, MainGate.class);
notiPendingIntent = PendingIntent.getActivity(this, 0, notiIntent, PendingIntent.FLAG_UPDATE_CURRENT);
MainGate.class是启动前台服务的活动。当我点击通知时它会出现。
编辑:
实际上,它是在man活动(MainGate.class)中构建通知时有效的。并且它在服务中构建通知而不是前台服务时起作用。现在我必须实现前台服务,它停止工作。
答案 0 :(得分:1)
尝试此解决方案
Intent notificationIntent = new Intent(this, MainGate.class);
PendingIntent pendingIntent=PendingIntent.getActivity(this, 0,
notificationIntent, Intent.FLAG_ACTIVITY_NEW_TASK);
Notification notification=new NotificationCompat.Builder(this)
.setSmallIcon(R.drawable.ic_launcher)
.setContentText(getString(R.string.isRecording))
.setContentIntent(pendingIntent).build();
startForeground(NOTIFICATION_ID, notification);