KonifarPod

AndroidのNotificationを常に上に表示させるハック

   

Pocket

FacebookのPushNotification通知は、他のアプリよりも上の方に表示されるようになっています。

例えば、10時にFacebookメッセージのNotificationが届いたあと11時に俺アプリのNotificationが届くと、時系列順に並ぶはずなのにFacebookの方が上に表示されます。

ぐぬぬぬ。。。と思って色々調べてみたところ、Hack方法を見つけましたよ。Notificationのpriorityというプロパティを利用します。

priorityのリファレンスを見ると、このように書いてあります。

public int priority

Added in API level 16

Relative priority for this notification. Priority is an indication of how much of the user’s valuable attention should be consumed by this notification. Low-priority notifications may be hidden from the user in certain situations, while the user might be interrupted for a higher-priority notification. The system will make a determination about how to interpret this priority when presenting the notification.

つまり、このpriorityを高く設定すればその通知が上に行くってことみたいです。ということで実装しました。

    NotificationCompat.Builder builder = new NotificationCompat.Builder(getApplicationContext());
    builder.setContentIntent(contentIntent);
    builder.setTicker(title);
    // Integerの最大値を設定して最高レベルのpriorityにする
    builder.setPriority(Integer.MAX_VALUE);

すると、Facebookにも負けず新しい通知が一番上に出るようになりました!ユーザーからするとウザいHackかもしれないですが、意外と簡単に実装できるので取り入れてみてはいかがでしょうか?

Pocket

 - 未分類