2017-01-13 6 views
2

通知が数秒後に消えることはありません。数秒後にAndroidのヘッドアップ通知が消える

NotificationCompat.Builder builder = new NotificationCompat.Builder(context); 
     builder.setSmallIcon(R.drawable.cast_ic_notification_small_icon) 
       .setDefaults(Notification.FLAG_ONGOING_EVENT) 
       .setPriority(Notification.PRIORITY_HIGH) 
       .setContentTitle(notificationDetails.getSubject()) 
       .setContentText(notificationDetails.getMessage()) 
       .setColor(context.getResources().getColor(R.color.colorPrimary)) 
       .setOngoing(true); 

とFLAG_ONGOING_EVENTとメソッドsetOngoing(true)を設定: だから私はこのような通知を作成しています。

ただし、数秒後に通知は消えていきます。 通知が消えるのは、ユーザーがクリックしたときだけです。 ありがとうございます。

+3

AFAIK、これは不可能です。 – CommonsWare

答えて

2

ヘッドアップ通知の期間は変更できません。OSレベルで設定されています。OSに依存します。

1

期間は変更できません。それ以外の場合は、キュー内にある他のヘッズアップ通知が表示され、表示されます。

1

ヘッドアップ通知を永続化することは実際可能です。そのトリックはsetFullScreenIntentです。

PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, new Intent(), 0); 
notificationBuilder.setFullScreenIntent(pendingIntent, true); 

それはハックですが、行動がいくつかを作る:あなたはあなたの通知がフルスクリーンバージョンを持ってしたくない場合は、実際にこのように、すべての活動を起動しませんダミーの意図を使用することができますセンス。アプリがフルスクリーン通知を表示しようとしている場合は、アラームや電話のような重要なイベントでなければなりません。電話機がフルスクリーン通知を表示しないことを決定した場合、ユーザが行動を起こすまで、何かが永続的に表示されるはずです。

これは私がテストした電話機で動作しますが、動作は文書化されていないため、保証はありません。

関連する問題