2

閉じることができない通知バーの上部にある 4 つのボタンを常に修正しようとしています。アプリの初回起動時は常にボタンが固定されます。この目的のために、次のようにNotification Builderを使用して通知を作成しています。

 Notification notification = new Notification.Builder(this).build();      
       notification.flags = Notification.FLAG_ONGOING_EVENT;
       notification.icon = R.drawable.ic_launcher;
       notification.contentIntent = pendingIntent;
       notification.setSmallIcon = R.drawable.ic_launcher;
       notification.flags = Notification.FLAG_ONGOING_EVENT | Notification.FLAG_NO_CLEAR;
       notification.priority = Notification.PRIORITY_HIGH;
       mNotificationManager.notify(Constants.NOTIFICATION_ID_BRANDING, notification);

すべてが正常に機能し、通知を一番上に表示することもできますが、別のアプリケーションから他の通知を受信して​​いる間、そのアプリケーションの下に通知が表示されます。

notification.priority = Notification.PRIORITY_HIGH;はそのことを行いますが、それは私たちのアプリケーションにのみ固有のものです.

私の要件:しかし、私の要件は、通知に関係なく、通知を常に一番上に保つことです. ヒントと解決策を教えてください。前もって感謝します。

4

2 に答える 2

1

閉じることができない通知バーの上部に常に 4 つのボタンを修正しようとしています。

独自のカスタム ROM を作成しない限り、それは不可能です。

まず、あなたではなく Android が通知トレイ内の項目の順序を決定します。

2 つ目は、Android 5.0 以降では、ユーザーが通知をブロックできるため、アプリが何も表示されなくなり、上部に何かが表示されなくなります。

第 3 に、2 人以上のプログラマーが同じ「要件」を実装しようとすると、最上位の項目が 1 つしかないため、どちらかが負けなければなりません。したがって、あなたのアプローチが機能していたとしても、他の開発者が同じことを試みた場合、それらは失敗する可能性があります。

それを超えて、機能するように見えるスクリプトキディアプローチを思いついたとしても、通知を順序付けするためのルールがデバイスおよび OS バージョンに依存する可能性があるため、他のデバイスでは失敗する可能性があります。

別のアプリケーションから他の通知を受信して​​いる間、私の通知はそのアプリケーションの下に表示されます

これは、ユーザーではなく Android が通知の順序を制御するためです。

行 notification.priority = Notification.PRIORITY_HIGH; はそのことを行いますが、それは私たちのアプリケーションにのみ固有のものです。

より正確には、注文の基準の 1 つにすぎません。Android では、他の基準 (時間、システム アプリと通常のアプリ、進行中と通常、フォアグラウンド サービスと通常のアプリなど) を使用して、使用する順序を決定することができます。

于 2016-02-03T19:45:51.177 に答える