You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android中setLatestEventInfo方法无法解析,该如何替换?

解决Notification.setLatestEventInfo()无法解析的问题

老哥,Notification.setLatestEventInfo()这个方法早就在Android 3.0(API Level 11)的时候被废弃了,现在新版本的SDK里已经完全移除了它,所以你才会碰到无法解析的报错。现在构建通知的标准做法是用NotificationCompat.Builder——它来自AndroidX或者老的support库,能完美兼容从低到高各个版本的Android系统。

我帮你把代码改好了,顺便还修正了原代码里的一个小坑:你原来连续给notifyDetails.flags赋值,把FLAG_AUTO_CANCEL给覆盖成DEFAULT_SOUND了,这俩一个是通知的行为标记,一个是提示音设置,不能混在flags里。

修改后的完整代码如下:

if (messages.length > -1) {
    Log.i(TAG, "Message recieved: " + messages[0].getMessageBody());
    mNotificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
    
    // 用NotificationCompat.Builder构建通知,兼容所有Android版本
    NotificationCompat.Builder builder = new NotificationCompat.Builder(context)
            .setSmallIcon(R.drawable.ic_launcher) // 必须设置通知小图标,否则通知不显示
            .setContentTitle(str) // 对应原setLatestEventInfo的标题参数
            .setContentText("") // 对应原setLatestEventInfo的内容参数
            .setWhen(System.currentTimeMillis()) // 设置通知触发时间
            .setAutoCancel(true) // 替代原FLAG_AUTO_CANCEL,点击通知后自动取消
            .setDefaults(Notification.DEFAULT_SOUND) // 设置默认提示音,单独放在defaults里
            .setContentIntent(myIntent); // 设置点击通知跳转的PendingIntent

    // 构建最终的Notification对象
    Notification notifyDetails = builder.build();
    
    mNotificationManager.notify(SIMPLE_NOTFICATION_ID, notifyDetails);
    Toast.makeText(context, "el rsala " + str, Toast.LENGTH_SHORT).show();
}

Intent i = new Intent(context, EncryptionActivity.class);
i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
i.putExtra("Encrypt", str);
context.startActivity(i);

几个关键的变化点给你提一下:

  • 彻底抛弃了new Notification()的旧初始化方式,改用Builder模式一步步构建通知
  • 用setContentTitle()、setContentText()、setContentIntent()替代了原来的setLatestEventInfo()
  • 把FLAG_AUTO_CANCEL换成了setAutoCancel(true),把提示音设置移到了setDefaults()里,避免属性覆盖
  • 最后用builder.build()生成可用的Notification对象

另外要注意,确保你的项目已经引入了AndroidX的core库(如果用AndroidX的话),或者老的support-v4库,这样才能正常使用NotificationCompat类。

内容的提问来源于stack exchange,提问作者obada

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 07:16:54