Firebase具有默認的簡單通知佈局,android默認爲一次。如何更改爲自定義佈局,並在生成時顯示通知。如何使用自定義佈局顯示Firebase通知?
回答
在FirebaseMessaging服務編寫以下
@Override
public void onMessageReceived(RemoteMessage remoteMessage) {
if (remoteMessage.getData().size() > 0) {
try {
JSONObject jsonObject = new JSONObject(remoteMessage.getData());
Log.e("Tag",remoteMessage.getData().toString());
sendNotification(remoteMessage.getData().toString());
} catch (Exception e) {
}
}
private void sendNotification(String msg) {
Intent intent = new Intent(this, NewTransactionsHistActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP);
PendingIntent pendingIntent = PendingIntent.getActivity(this, new Random().nextInt(100) , intent,
PendingIntent.FLAG_ONE_SHOT);
long when = System.currentTimeMillis();
Uri defaultSoundUri = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
NotificationCompat.Builder mNotifyBuilder = new NotificationCompat.Builder(this);
mNotifyBuilder.setVibrate(new long[] { 1000, 1000,1000,1000,1000,1000});
boolean lollipop = (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP);
if (lollipop) {
mNotifyBuilder = new NotificationCompat.Builder(this)
.setContentTitle(getString(R.string.app_name))
.setStyle(
new NotificationCompat.BigTextStyle()
.bigText(msg))
.setContentText(msg)
.setColor(Color.TRANSPARENT)
.setLargeIcon(
BitmapFactory.decodeResource(
getResources(),
R.drawable.rlogo))
.setSmallIcon(R.drawable.ic_icon_lollipop)
.setWhen(when).setAutoCancel(true)
.setSound(defaultSoundUri)
.setContentIntent(pendingIntent);
} else {
mNotifyBuilder = new NotificationCompat.Builder(this)
.setStyle(
new NotificationCompat.BigTextStyle()
.bigText(msg))
.setContentTitle(getString(R.string.app_name)).setContentText(msg)
.setSmallIcon(R.drawable.rlogo)
.setWhen(when).setAutoCancel(true)
.setSound(defaultSoundUri)
.setContentIntent(pendingIntent);
}
NotificationManager notificationManager =
(NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
notificationManager.notify(new Random().nextInt(100) /* ID of notification */, mNotifyBuilder.build());
}
** onMessageReceived **方法觸發器當應用程序在前臺。 如果應用程序在後臺運行,它將不會觸發。 檢查[本答](https://stackoverflow.com/questions/37358462/firebase-onmessagereceived-not-called-when-app-in-background)。 –
在你的服務器端,刪除notification
attirbute。
當您發送沒有notification
屬性的通知時,Firebase將不處理通知。 然後,您可以擴展FirebaseMessagingService
來處理通知。 不要忘記在清單中註冊服務。
我收到通知但我想更改它與自定義佈局如何處理它 –
檢查此https://www.laurivan.com/android-notifications-with-custom-layout/ –
- 1. 自定義通知佈局
- 2. 未使用自定義服務器顯示Android Firebase通知
- 3. 自定義firebase通知
- 4. X10中的自定義通知佈局
- 5. 如何使用Malcom Android SDK顯示自定義通知消息?
- 6. 自定義線性佈局不顯示
- 7. 不顯示自定義佈局
- 8. 如何在android中創建自定義通知佈局?
- 9. Firebase通知不會顯示使用PHP
- 10. Android自定義通知不顯示
- 11. 自定義推送通知不顯示
- 12. 如何通過JIDE儀表板使用自定義佈局
- 13. 通知未顯示完整佈局
- 14. 如何在MultiSelectListPreference頂部顯示自定義佈局
- 15. ANDROID - 如何在標記下方顯示自定義佈局?
- 16. Android通知:如何使用自定義位圖發佈setSmallIcon
- 17. 如何從另一個自定義XML佈局引用自定義XML佈局?
- 18. 自定義佈局感知控件
- 19. 如何動態顯示自定義標題時使用佈局和部分
- 20. 推送通知不顯示自定義通知
- 21. 單擊Firebase通知負載通知時打開自定義Intent
- 22. 自定義佈局
- 23. 如何從android firebase通知中獲取自定義數據?
- 24. 自定義佈局的微調不顯示任何Android
- 25. 在佈局上顯示自定義烤麪包,例如AppMsg
- 26. 只更新自定義佈局的Android通知的一部分
- 27. 遠程視圖中動態佈局的自定義通知
- 28. 果凍豆的自定義通知佈局android
- 29. 自定義通知佈局不覆蓋整個寬度
- 30. 修改標籤後面的Android自定義通知佈局
U表示添加圖片或圖標,您的通知 –
NOP兄弟創建定製商品通知或者可以說,倒塌的通知。 –