Я имею дело с push-уведомлениями. Когда я получаю несколько уведомлений, все они отображаются в строке состояния. Мне нужно решение, в котором в строке состояния отображается только один значок, а уведомления группируются один над другим.Как установить push-уведомления в Android?
3
A
ответ
2
Google является вашим другом: https://developer.android.com/guide/topics/ui/notifiers/notifications.html#bundle
Начиная с Android 7.0 (уровень API 24), Android предоставляет разработчикам новый способ для представления очереди уведомлений: сгруппированных уведомлений. Это похоже на функцию «Уведомления» в Android Wear. Например, если ваше приложение создает уведомления для принятых сообщений, когда получено несколько сообщений, объедините уведомления вместе как одна группа. Вы можете использовать метод Builder.setGroup() для объединения похожих уведомлений.
0
public class FirebaseInstanceIDService extends FirebaseInstanceIdService {
private String TAG="FirebaseInstanceIDService";
private Context context;
@Override
public void onTokenRefresh(){
context=getApplicationContext();
String Token= FirebaseInstanceId.getInstance().getToken();
saveToken(Token);
}
private void saveToken(String token) {
Log.i(TAG,token);
SharedPref.setToken("Token",token,context);
}
}
создавать службы
public class FirebaseMessaginService extends FirebaseMessagingService {
int i=0;
private int temp=0;
@Override
public void onMessageReceived(RemoteMessage remoteMessage) {
showNotification(remoteMessage.getData().get("message"));
}
private void showNotification(String message) {
PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
NotificationCompat.Builder builder = new NotificationCompat.Builder(this);
builder.setAutoCancel(true)
.setContentTitle("Track Mee")
.setContentText(message)
.setSmallIcon(R.drawable.ic_marker)
.setContentIntent(pendingIntent);
NotificationManager notificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
notificationManager.notify(0, builder.build());
}
}
в файле манифеста написать
<service android:name=".Service.FirebaseInstanceIDService">
<intent-filter>
<action android:name="com.google.firebase.INSTANCE_ID_EVENT" />
</intent-filter>
</service>
<service
android:name=".Service.FirebaseMessaginService"
android:enabled="true"
android:exported="true">
<intent-filter>
<action android:name="com.google.firebase.MESSAGING_EVENT" />
</intent-filter>
</service>
Смежные вопросы
- 1. Как установить библиотеки Android в Android Studio?
- 2. Как установить Android SDK в Android Studio
- 3. Как установить задержку в Android
- 4. Как установить кнопки в Android?
- 5. Как установить ImageView в android
- 6. Как установить задержку в Android?
- 7. Как установить ручку в Android?
- 8. Как установить imageview.getDrawable в android
- 9. Как установить VideoEncodingBitRate в Android?
- 10. Как установить таймер в android
- 11. Как установить шрифт в Android?
- 12. Как установить переключатель в Android
- 13. В Android Как установить текст?
- 14. Как установить libsvm в Android?
- 15. Как установить обои в Android?
- 16. Как установить теги в android?
- 17. Как установить таймер в Android?
- 18. Как установить изображение в Android
- 19. Как установить обои в Android
- 20. Как установить Android Studio?
- 21. Как установить Android NDK
- 22. Android - как установить keystore
- 23. Установить как Ringtone android
- 24. Как установить студию Android?
- 25. Android как установить Scrollview
- 26. Как установить «android: scrollbarSize»?
- 27. Как установить OnClickListener (Android)
- 28. Как установить Android-маркет?
- 29. Установить фокус в android
- 30. Как установить гравитацию в стилях в Android?
я пошел по методу SetGroup(). но для каждого нового уведомления значок отображается в строке состояния. Мое требование: я должен получать уведомления, уложенные один над другим, но должен отображаться только один значок уведомления. Я использовал стиль «inbox», но добавление строк является статическим. как я могу отображать несколько уведомлений с разными идентификаторами уведомлений, но из одного приложения, уложенных один над другим. очень похоже watsapp. Предыдущие уведомления не должны заменяться новым новым уведомлением, а я хочу, чтобы он был уложен в стек. –
@freddy pradeep Ваша проблема похожа на http://stackoverflow.com/questions/17521908/android-gcm-multiple-push-notifications-with-one-icon-in-status-bar – Androbin