You need to enable JavaScript to run this app. 如何在Android Studio 4.2.1中编程设置OneSignal通知的应用图标
优惠活动
大模型
产品
解决方案
定价
更多

如何在Android Studio 4.2.1中编程设置OneSignal通知的应用图标

安卓OneSignal通知默认铃铛图标替换为应用图标操作指引

前置准备

  • 先准备符合安卓通知规范的图标资源:安卓5.0及以上系统要求通知小图标必须为透明背景+白色前景的矢量图或者png图,尺寸建议按照mdpi(24x24)、hdpi(36x36)、xhdpi(48x48)、xxhdpi(72x72)、xxxhdpi(96x96)各准备一套,也可以直接用Android Studio的Image Asset工具生成,选择Notification Icons类型自动生成适配各分辨率的资源。
  • 若应用本身的启动图标不符合上述通知图标规范,建议单独制作适配的通知小图标,否则安卓5.0以上系统会自动将图标填充为白色,仅保留透明区域形状,显示效果会出现异常。

步骤1:导入图标到项目资源

  • 将生成好的各尺寸通知图标放到项目app/src/main/res对应的drawable-xxx目录下,命名建议为ic_onesignal_notification,后续代码配置需和该命名保持一致。

步骤2:在OneSignal初始化代码中配置自定义图标

  • 找到项目中初始化OneSignal的代码,通常在Application类或者主Activity的onCreate方法中,添加设置通知小图标的代码:
// 4.x及以上版本OneSignal SDK配置示例
OneSignal.initWithContext(this)
    .setAppId("你的OneSignal App ID")
    .setNotificationSmallIcon(R.drawable.ic_onesignal_notification) // 替换为你自己的图标资源名
    // 可选配置通知大图标,可直接使用应用启动图标
    .setNotificationLargeIcon(R.mipmap.ic_launcher)
    .observeProcess(InitializeResult::class.java) { result ->
        // 初始化结果回调处理逻辑
    }
  • 若使用3.x及以下旧版本OneSignal SDK,配置代码如下:
OneSignal.startInit(this)
    .setNotificationSmallIcon(R.drawable.ic_onesignal_notification)
    .setNotificationLargeIcon(R.mipmap.ic_launcher)
    .init();

步骤3:在AndroidManifest.xml中添加备用配置(可选但推荐)

  • 为了避免SDK初始化前收到通知时仍显示默认铃铛图标,可以在AndroidManifest.xml的Application标签下添加meta-data配置:
<meta-data
    android:name="com.onesignal.NotificationSmallIcon"
    android:resource="@drawable/ic_onesignal_notification" />
<!-- 大图标配置可选 -->
<meta-data
    android:name="com.onesignal.NotificationLargeIcon"
    android:resource="@mipmap/ic_launcher" />

注意:如果你的应用针对Android 8.0及以上系统自行创建了通知渠道,需要同时给自定义的通知渠道设置对应图标,否则通知渠道的优先级高于OneSignal的全局配置,仍可能显示默认图标。

步骤4:验证配置生效

  • 打包应用安装到测试设备,打开应用获取通知权限后,通过OneSignal后台发送测试推送,确认通知栏显示的图标已经替换为你设置的自定义图标。
  • 如果仍然显示默认铃铛图标,可逐一排查:
    • 图标资源命名是否和代码、Manifest中的配置一致
    • 图标是否符合安卓通知图标规范
    • OneSignal SDK初始化是否在应用启动时就执行,没有延迟

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.17 10:54:02