2017-04-20 1 views
2

Nougatでは、同じアプリからの複数の通知が自動的にグループにまとめられます。私は通知のいくつかのエキストラを持つPendingIntentを設定しています。特定の通知がタップされている場合は、特定のアクティビティ(深いリンク)が開始されます。バンドルされた通知をタップしてもPendingIntentがトリガーされない

しかし、通知バンドルをタップすると(つまり、グループを展開せずに)、私のアプリはランチャーからのものであるかのように起動されます。つまり、そのインテントが空で、エキストラがありませんPendingIntentを提供しました)。

通知バンドルでユーザーがタップしたときに使用するインテントを指定するにはどうすればよいですか?

答えて

2

私は同じ問題に直面し、調査の結果、Androidが自動的に通知をグループ化することを決定したときにPendingIntentを使用するように設定できないようです。

実装はAOSPソースのNotificationManagerService.maybeAddAutobundleSummary()にあります。この状況では、システムは常にランチャーアクティビティーを起動するためにPendingIntentを生成します。

あなたは、ここに記載されるようなグループ化と要約通知の自分、管理何ができるか:http://blog.danlew.net/2017/02/07/correctly-handling-bundled-android-notifications/

別のオプションは、アプリが起動したとき)(NotificationManager.getActiveNotificationsを使用して、アクティブな通知を反復することで、次に決めるだろうが何(例えば、見つかった場合は保留中のディープリンクを処理する)。

関連する問題