自定义通过FCM接收到的显示通知可以通过以下步骤实现:
MyFirebaseMessagingService
的自定义服务,并将其注册为FCM的消息接收服务。<service
android:name=".MyFirebaseMessagingService"
android:exported="false">
<intent-filter>
<action android:name="com.google.firebase.MESSAGING_EVENT" />
</intent-filter>
</service>
FirebaseMessagingService
的MyFirebaseMessagingService
类,并重写onMessageReceived
方法。在该方法中,可以获取到接收到的FCM通知的内容,并进行自定义处理。public class MyFirebaseMessagingService extends FirebaseMessagingService {
@Override
public void onMessageReceived(RemoteMessage remoteMessage) {
// 获取通知的标题、内容等信息
String title = remoteMessage.getNotification().getTitle();
String body = remoteMessage.getNotification().getBody();
// 自定义通知的显示方式
// ...
// 显示通知
showNotification(title, body);
}
private void showNotification(String title, String body) {
// 创建通知的Builder
NotificationCompat.Builder builder = new NotificationCompat.Builder(this, "channel_id")
.setSmallIcon(R.drawable.notification_icon)
.setContentTitle(title)
.setContentText(body)
.setPriority(NotificationCompat.PRIORITY_DEFAULT);
// 显示通知
NotificationManagerCompat notificationManager = NotificationManagerCompat.from(this);
notificationManager.notify(0, builder.build());
}
}
showNotification
方法中,可以使用NotificationCompat.Builder
来创建自定义的通知样式。可以设置通知的图标、标题、内容等信息,并可以添加自定义的布局、按钮等。AndroidManifest.xml
文件中,为应用添加一个通知渠道(Notification Channel),用于控制通知的显示方式。可以设置通知的重要性、声音、震动等属性。<application>
...
<meta-data
android:name="com.google.firebase.messaging.default_notification_channel_id"
android:value="@string/default_notification_channel_id" />
...
</application>
<resources>
...
<string name="default_notification_channel_id">channel_id</string>
<string name="default_notification_channel_name">Channel Name</string>
...
</resources>
通过以上步骤,可以自定义通过FCM接收到的显示通知。可以根据实际需求,自定义通知的样式、布局、按钮等,以提供更好的用户体验。
腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云