【问题标题】:FCM not working push notification sound androidFCM不工作推送通知声音android
【发布时间】:2016-09-12 03:53:18
【问题描述】:

我正在尝试使用 Firebase 控制台向我的手机发送推送通知,但是当应用程序最小化时,通知的声音和标题不起作用,并且当应用程序在前台工作时正确的,行为通知不同的原因是什么?

MyFirebaseMessagingService.java

private void sendNotification(String messageBody) {
    Intent intent = new Intent(this, DashboardActivity.class);
    intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
    PendingIntent pendingIntent = PendingIntent.getActivity(this, 0 /* Request code */, intent,
            PendingIntent.FLAG_ONE_SHOT);

    Uri defaultSoundUri= RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
    NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(this)
            .setSmallIcon(R.drawable.ic_info_black_24dp)
            .setContentTitle("FCM Message")
            .setContentText(messageBody)
            .setAutoCancel(true)
            .setSound(defaultSoundUri)
            .setContentIntent(pendingIntent);

    NotificationManager notificationManager =
            (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);

    notificationBuilder.setVibrate(new long[] { 1000, 1000, 1000, 1000, 1000 });

    notificationManager.notify(0 /* ID of notification */, notificationBuilder.build());
}

AndroidManifest.xml

    <!-- [START firebase_service] -->
    <service
        android:name=".MyFirebaseMessagingService">
        <intent-filter>
            <action android:name="com.google.firebase.MESSAGING_EVENT"/>
        </intent-filter>
    </service>
    <!-- [END firebase_service] -->
<uses-permission android:name="android.permission.INTERNET" />

<!-- To auto-complete the email text field in the login form with the user's emails -->
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.READ_PROFILE" />
<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.WAKE_LOCK" />

【问题讨论】:

  • 你使用的是哪个payload,通知还是数据?

标签: android firebase push-notification android-service firebase-cloud-messaging


【解决方案1】:

我认为您使用的通知消息类型仅在应用程序处于前台时显示通知。当应用程序在后台时,您需要使用数据消息类型来获取通知(以及声音、振动等)。检查我的答案here

【讨论】:

    猜你喜欢
    • 2020-01-09
    • 2023-03-28
    • 2021-02-21
    • 1970-01-01
    • 1970-01-01
    • 2022-07-12
    • 2021-05-23
    • 2023-04-03
    • 2018-11-18
    相关资源
    最近更新 更多