android:如何通过单击前台服务通知来调用活动

时间:2016-11-09 16:30:36

标签: android notifications foreground

我启动了一个显示通知的前台服务。如果我的活动被隐藏了,我想通过点击通知开始。 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)中构建通知时有效的。并且它在服务中构建通知而不是前台服务时起作用。现在我必须实现前台服务,它停止工作。

1 个答案:

答案 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);