バックグラウンド
Android Lollipop (API 21) では、ステータス バー (別名「通知バー」) の外に通知を表示する方法が導入されたため、ユーザーは通知をすぐに処理できます。これは「ヘッドアップ通知」と呼ばれます。
それらを表示するトリガーは、デバイス/ROM/メーカーによって異なる場合があります。
問題
このような通知を表示することでユーザーがイライラする場合があり、ほとんどの場合、そのような場合の設定はありません。
ユーザーがヘッドアップ通知を無視すると、通常の通知として表示されません。それらを非表示にして、画面に表示されているものを続行する方法はありません。待つことしかできません(そして、かなり長い待ち時間でもあります)。
実際、人々を悩ませる可能性があるという理由だけで、それについて開かれた複数の Google グループの問題があります (こことここにリンク)。
私が見つけたもの
API 18 以降では、「NotificationListenerService」と「StatusBarNotification」、およびおそらく他のクラスを使用して、通知イベントをリッスンしたり、それらを読み取ったりすることができます。
ただし、(他のアプリの)通知を閉じる以外に、それらに対して実行できる他のアクションが見つかりません。
質問
アプリの存続期間中に、ヘッドアップとして表示される通知を聞いて、ステータスバー通知として戻すことができる可能性はありますか?
たぶん、それらに別のタイムアウトを設定することさえありますか? または、それらが閉じられたときに通常のステータスバー通知に変換することを選択しますか?
おそらく、これらの操作を行う前に、私が見つけた (他のアプリの) 通知がヘッドアップ通知として表示されているかどうかを確認するにはどうすればよいでしょうか?