如何查找通知视图是否已扩展

时间:2015-03-18 08:15:10

标签: android android-notifications

我使用以下代码显示通知,它正常工作。我正在寻找听众,我可以从中了解通知是否被扩展。

如果通知已展开,我想打开应用,或者打开应用的特定活动。

                 Intent intent= new Intent(context, Activity1.class);
                 PendingIntent pendingIntent = PendingIntent.getActivity(context, getNextRandom(), intent, 0);
                 Builder newBuilder newBuilder = new Notification.Builder(context);
                 newBuilder.setContentTitle(title)
                 .setContentText(subtitle)
                 .setAutoCancel(true)
                 .setSmallIcon(R.drawable.icon)
                 .setTicker(notificationMessage)
                 .setContentIntent(pendingIntent);
                 Notificationnotification = new Notification.BigTextStyle(newBuilder)
                 .setBigContentTitle(notificationTitle)
                 .bigText(text)
                 .build();

让我知道是否有办法实现这一目标?

2 个答案:

答案 0 :(得分:2)

无法知道通知是否已打开...您可以执行的操作是向展开的通知添加按钮,按下它们的行为与按下通知本身的行为不同。

答案 1 :(得分:1)

可能没有直接的方法,但也许下面的黑客可以帮助!!

您可以拥有自定义通知布局并使用RemoteView,设置setOnClickPendingIntent以启动整个视图的服务,以便在单击通知时收到通知。

当用户点击通知时,服务会启动并显示服务中新的展开式自定义布局(您将旧通知替换为新通知)

也许使用startforeground从同一服务中显示您的初始通知,这样您的应用就不会被杀死,并且可以更快地收到视图点击,因为服务已在运行,并且更改视图的响应时间更短。

有关remoteview的信息,请参阅this,有关通知点击的信息,请参阅this