我想在 Firebase onMessage 接收方法上播放自定义通知音,当锁定屏幕 android 手机时

Posted

技术标签:

【中文标题】我想在 Firebase onMessage 接收方法上播放自定义通知音,当锁定屏幕 android 手机时【英文标题】:I want to play custom notification tone on firebase onMessage receive method,when locked screen android mobile 【发布时间】:2019-04-11 06:24:38 【问题描述】:

我想在 firebase onMessage 接收方法上播放自定义通知音, 自定义声音仅在应用程序运行时播放,当应用程序销毁系统通知默认声音播放时,我想在应用程序销毁或移动锁定firebase onMessage接收方法时播放自定义通知。

Intent intent = new Intent(getApplicationContext(), MainActivity.class);
        PendingIntent pIntent = PendingIntent.getActivity(getApplicationContext(), 0, intent, 0);
    Uri sound = Uri.parse("android.resource://" + getApplicationContext().getPackageName() + "/" + R.raw.door_bell);

    RingtoneManager.setActualDefaultRingtoneUri(getApplicationContext(), RingtoneManager.TYPE_RINGTONE, sound);

    Notification mNotification = new Notification.Builder(this)
            .setContentTitle("New Post!")
            .setContentText("Here's an awesome update for you!")
            .setSmallIcon(R.mipmap.ic_launcher)
            .setContentIntent(pIntent)
            .addAction(R.mipmap.ic_launcher, "View", pIntent)
            .addAction(0, "Remind", pIntent)
            .setSound(sound)
            .build();

    NotificationManager notificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);

    if (notificationManager != null) 
        notificationManager.notify(0, mNotification);
    
    startActivity(new Intent(getApplicationContext(), MainActivity.class));

【问题讨论】:

你能试试这个答案的添加编辑吗?:***.com/a/31398504/2232127 【参考方案1】:

如果您想在应用销毁时使用自定义 Notification。 确保您的 Firebase 数据具有类似

的格式

   ... 
   "data":
     "title":"New Notification",
     "body":"Test 123"
   ,
   ...

而不是


   ...
   "notification":
     "title":"New Notification",
     "body":"Test 123"
   ,
   ...
 (if you use this way, phone will display DEFAULT Notification instead of YOUR CUSTOM NOTIFICATION when your app destroyed)

【讨论】:

以上是关于我想在 Firebase onMessage 接收方法上播放自定义通知音,当锁定屏幕 android 手机时的主要内容,如果未能解决你的问题,请参考以下文章

onMessage 在 iOS 上运行多个异步任务

Web firebase.messaging().onMessage 未触发,但后台通知完美触发

应用关闭时,Firebase消息传递无法接收通知(React Native)

选项卡不在焦点时的 Firebase 通知

带有 Firebase 云消息传递的 Flutter 2.0:onMessage 未在 Android 上调用

Flutter 和 FCM(Firebase 云消息传递)onMessage、onResume 和 onLaunch 在单击通知时未触发(包:firebase_messaging 7.0.0)