Android推送通知-显示发送时间而不是接收时间
创始人
2024-08-21 20:30:21
0

要在Android推送通知中显示发送时间而不是接收时间,可以通过设置通知的内容来实现。以下是一个示例代码,演示如何在Android中使用Firebase Cloud Messaging(FCM)发送通知并在通知中显示发送时间:

  1. 在Android项目的build.gradle文件中添加以下依赖项:
implementation 'com.google.firebase:firebase-messaging:22.0.0'
  1. 创建一个继承自FirebaseMessagingService的类,并实现onMessageReceived方法。在该方法中处理接收到的消息,并显示通知。
public class MyFirebaseMessagingService extends FirebaseMessagingService {

    private static final String TAG = "MyFirebaseMsgService";

    @Override
    public void onMessageReceived(RemoteMessage remoteMessage) {
        super.onMessageReceived(remoteMessage);

        // 获取消息的发送时间
        long sentTimeMillis = remoteMessage.getSentTime();

        // 格式化发送时间
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.getDefault());
        String sentTime = sdf.format(new Date(sentTimeMillis));

        // 获取通知的标题和内容
        String title = remoteMessage.getNotification().getTitle();
        String body = remoteMessage.getNotification().getBody();

        // 创建通知的构建器
        NotificationCompat.Builder builder = new NotificationCompat.Builder(this, "channel_id")
                .setSmallIcon(R.drawable.ic_notification)
                .setContentTitle(title)
                .setContentText(body)
                .setAutoCancel(true)
                .setWhen(sentTimeMillis) // 设置通知的发送时间
                .setShowWhen(true); // 显示发送时间

        // 显示通知
        NotificationManagerCompat notificationManager = NotificationManagerCompat.from(this);
        notificationManager.notify(0, builder.build());
    }
}
  1. 在AndroidManifest.xml文件中注册MyFirebaseMessagingService类。

    
        
    

  1. 在应用的启动活动(例如MainActivity)中,确保已订阅Firebase消息服务。
public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        // 订阅Firebase消息服务
        FirebaseMessaging.getInstance().subscribeToTopic("news");
    }
}

通过这个示例代码,你可以在Android推送通知中显示发送时间而不是接收时间。请注意,这里使用了Firebase Cloud Messaging(FCM)来发送通知,因此你需要设置Firebase项目并获取google-services.json文件。另外,你还需要在AndroidManifest.xml文件中添加通知的渠道信息,以及在通知中使用的图标和资源文件。

相关内容

热门资讯

wepoke黑科技!微扑克软件... wepoke黑科技!微扑克软件开发,(wepOkE)固有真的有挂(详细透视大神讲解)相信很多朋友都在...
透视线上(WPK透视辅助)德扑... 透视线上(WPK透视辅助)德扑概率计算软件(详细辅助黑科技教程)果然是真的有挂(1)透视线上(WPK...
微扑克ai机器人!微扑克使用方... 微扑克ai机器人!微扑克使用方法,(wEpoKe)本然是真的有挂(详细辅助透牌教程);(需添加指定Q...
透视模拟器(德州免费辅助神器a... 透视模拟器(德州免费辅助神器app)轰趴十三水有后台吗(详细辅助解密教程)先前真的有挂是一款可以让一...
wepoke辅助德之星!轰趴大... wepoke辅助德之星!轰趴大菠萝十三水有外挂,(德州ai)起初有挂(详细透视切实教程);科技安装教...
透视新版(wpk透视辅助测试)... 透视新版(wpk透视辅助测试)wpk积分后台管理系统(详细辅助曝光教程)原先是有挂,您好,wpk透视...
微扑克系统发牌规律!wpk怎么... 微扑克系统发牌规律!wpk怎么提高胜率,(wepoKe)好像有挂(详细透视wpk教程);科技详细教程...
透视好牌(wepoke黑科技)... 透视好牌(wepoke黑科技)德州wepower透视辅助(详细辅助德州教程)本然是有挂;是一种具有地...
wepoke是真的有挂!wep... wepoke是真的有挂!wepoke辅助真的假的,(aapokER)从前真的是有挂(详细透视新版20...
透视免费(德扑之星猫腻)红龙扑... 透视免费(德扑之星猫腻)红龙扑克会作假吗(详细辅助微扑克教程)从来是有挂1、每个玩家都可以进行使用,...