当前位置: 首页 > 知识库问答 >
问题:

在android背景下从firebase发送通知时,没有声音、振动和灯光

刘令
2023-03-14

我正在从firebase向我的Android应用程序发送推送通知。但当我的应用程序在后台时,不会调用firebase onMessageReceived方法,而是firebase向系统发送通知,以便在系统托盘中显示通知。通知出现在系统托盘中,但没有通知声音,即使我在系统设置中允许应用程序发出通知声音。这是我的通知代码谢谢

    private void sendNotification(String msg, String title) {
    NotificationManager mNotificationManager = (NotificationManager)
            this.getSystemService(Context.NOTIFICATION_SERVICE);

    PendingIntent contentIntent = PendingIntent.getActivity(this, 0,
            new Intent(this, MainActivity.class), 0);
    Intent i = new Intent(this,MainActivity.class);
    i.putExtra("","");

    NotificationCompat.Builder mBuilder =
            new NotificationCompat.Builder(this)
                    .setSmallIcon(R.mipmap.ic_launcher)
                    .setContentTitle(title)
                    .setStyle(new NotificationCompat.BigTextStyle().bigText(msg))
                    .setContentText(msg);
    //Vibration
    mBuilder.setVibrate(new long[] { 200, 400, 600, 800, 1000 });

    //LED
    mBuilder.setLights(Color.MAGENTA, 1000, 1000);

    //Ton
    mBuilder.setSound(Uri.parse("android.resource://"
            + getApplicationContext().getPackageName() + "/" + R.raw.circles_notif));
    mBuilder.setContentIntent(contentIntent);
    mNotificationManager.notify(0, mBuilder.build());
}

共有3个答案

马侯林
2023-03-14

这似乎对我有用

{
    "notification": {
        "title": "notification_title",
        "body": "notification_body",
        "sound": "default"
    },
    "to" : "device....id"
}

虽然这不会唤醒你的应用程序如果背景,而接受的答案会。

齐招
2023-03-14

它写在onMessageReceived()的覆盖示例中,第二行注释表示:

@Override
public void onMessageReceived(RemoteMessage remoteMessage) {
    ...
    Not getting messages here? See why this may be: ...goo.gl/39bRNJ
    ...
}

查看评论链接

该解决方案与相关问题的答案一样:当应用程序在Firebase中处于后台时,如何处理通知,可以在“具有通知和数据有效载荷的消息”部分的文档中找到,该部分说:

接收包含通知和数据有效负载的消息时的应用行为取决于应用是在后台还是前台——本质上,它在接收时是否处于活动状态。

  • 在后台时,应用程序会在通知托盘中接收通知有效负载,并且仅在用户点击通知时处理数据有效负载。
  • 在前台时,您的应用程序会收到一个消息对象,其中包含两个可用的有效负载。
羊舌旭尧
2023-03-14

转到通知

如果您是从自己的服务器发送通知,下面是一个示例json部分:

{   
    "data": {
      "title": "notification_title",
      "body": "notification_body"
    },
    "to" : "jh578_gsh....jhHGFJ76FH"
}
 类似资料:
  • 本文向大家介绍Android中通知Notification使用实例(振动、灯光、声音),包括了Android中通知Notification使用实例(振动、灯光、声音)的使用技巧和注意事项,需要的朋友参考一下 本文实例讲解了通知Notification使用方法,此知识点就是用作通知的显示,包括振动、灯光、声音等效果,分享给大家供大家参考,具体内容如下 效果图: MainActivity: activ

  • 这是舱单 这是我的注册令牌类 这是我的Firebase服务类

  • 我注意到Flatter firebase\u消息包自动处理设备的推送通知。但是,有没有办法通过编程启用或禁用通知声音和振动?我想在我的应用程序设置中提供一个开关盒,用户可以选择在收到通知时是否希望设备发出声音和/或振动。

  • 我使用了较新的NotificationCompat builder,无法获得发出声音的通知。它将振动并闪烁灯光。android文档中说要设置一种我已经使用过的样式: 但是没有声音? 完整的代码:

  • 我正在写一个iOS的应用程序,使用laravel的API和谷歌Firebase的推送通知。当我使用Firebase云消息传递发送消息推送时,它会进入我的设备。当我使用laravel发送推送通知时,它不会影响。这里是我的脚本发送推送通知laravel: 它返回一个成功的结果,但通知未发送到iOS设备。 PS:它可以在Android设备上成功运行。

  • 我正在从Firebase向我的Android应用程序发送推送通知,但它仅在收到通知时播放默认声音。 我在fcm通知对象中设置了自定义声音参数{“sound”:“notificationsound.mp3”},该文件根据(https://firebase.google.com/docs/cloud-messaging/http-server-ref)但它仍然在所有应用程序状态(背景、前景和终止)上播