当应用程序在后台时,android O 中的 onMessageReceived 不会被调用

2024-01-06

我正在从我的服务器发送数据有效负载通知。这是示例:

url= "https://fcm.googleapis.com/fcm/send"
{
  "to" : "userToken",
  "data" : {
    //some json here
  }
}

通过这种方式,即使应用程序没有运行,我也可以在所有 Android O 之前的设备中成功向用户发送消息。 但在 Android O 设备上,当应用程序未启动时,不会调用 onMessageReceived...

O 有一些新规则吗?如何修复它?谢谢!

UPDATES

这个问题不是关于通知的,而是关于firebase消息服务的!

无论如何,Android O 的通道也已实现:

val CHANEL_ID = "MY_CHANEL_ID"

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
    val channel = NotificationChannel(CHANEL_ID, "Channel human readable title", NotificationManager.IMPORTANCE_HIGH)
    (getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager).createNotificationChannel(channel)
}

您需要先创建通知通道才能使用。

 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {

      /* Create or update. */
      NotificationChannel channel = new NotificationChannel("my_channel_01",
          "Channel human readable title", 
          NotificationManager.IMPORTANCE_DEFAULT);
      mNotificationManager.createNotificationChannel(channel);
  }

此外,仅当您的 targetSdkVersion 为 26 或更高时,您才需要使用通道。

如果您使用的是NotificationCompat.Builder,您还需要更新到支持库的测试版:https://developer.android.com/topic/libraries/support-library/revisions.html#26-0-0-beta2 https://developer.android.com/topic/libraries/support-library/revisions.html#26-0-0-beta2(能够在兼容构建器上调用 setChannelId)。

请小心,因为此库更新将 minSdkLevel 提高到 14。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

当应用程序在后台时,android O 中的 onMessageReceived 不会被调用 的相关文章

  • 是否可以在图片上叠加图标

    我正在创建一个允许用户上传图片的应用程序 当图片上传成功后 我想在右上角添加一个绿色的勾号 可绘制 失败时也一样 但有一个十字 Atm 我正在使用 Glide 在屏幕上显示 URI 我怎样才能做到这一点 您可以通过调用 glide 侦听器来
  • 使用 Gradle 检测 IDE 环境

    无论如何 有没有办法检测我正在运行我的项目的环境 像这样的事情 构建 gradle def usingIntelliJ def usingAndroidStudio if usingIntelliJ buildConfigField Str
  • 如何将数据从当前活动传递到暂停的活动?

    我想知道如何将数据从当前活动传递到暂停的活动 请指教 我们将暂停的活动称为 A 将 当前 活动称为 B 让 B 将结果传达给 A 的方法是 A 调用startActivityForResult 代替startActivity 并供 B 使用
  • 在Graphview android的LineGraphSeries中的两个系列之间填充颜色

    I have created a line graph using GraphView demo But I need to fill the areas only between the lines with a specific col
  • Android - 尝试重新打开已关闭的对象:使用 loaderManager 的 SQLiteQuery

    我对 android 相当陌生 我对过滤后的 listView 和它从横向模式更改为纵向模式的活动有一些问题 反之亦然 我有一个用于过滤 drinkSearch 的 editText 只要我不更改视角 纵向与横向 此过滤就有效 这是我得到的
  • firebase android 基于类的更新不尊重字段名称的大小写

    我声明了以下类 注意大小写选择 public class User private String DisplayName private Boolean Proxy false SuppressWarnings unused public
  • 如何在 Android 中动态添加新的 Android 芯片?

    我有一个名为 Question 的类 其中包含标签的字符串数组 我试图使用 Kotlin 显示 Recyclerview 中的每个问题以及新芯片中的每个标签 这些芯片将包含在一个 ChipGroup 中 我的问题是 如何将数组的每个标签元素
  • Android:进程已死亡 - 资源不足?

    我编写的简单 HTTP GET 请求有一个小问题 该请求每 X 分钟请求一个 URL 我每天都会遇到一两次进程在 GET 请求期间停止的情况 这是调试日志的示例 12 07 16 29 22 650 V TAG 11655 Executin
  • Eclipse Android 不会清理,不会刷新资源

    我升级到Ubuntu 11 10 Eclipse 3 7 0 ADT 14 0 0 当我替换桌面上 res drawable nodpi 目录中的图片资源或 res raw 目录中的声音资源时 重新编译的程序和 Project Explor
  • 安装后隐藏 Android 应用程序图标

    我看到谷歌应用程序中有一些GPS应用程序 安装后 该应用程序将没有图标显示 但会在后台运行服务 我将如何实现这一目标 要从启动器中删除应用程序 请不要将这些行与主要活动放在AndroidManifest xml
  • 两个具有相同 id 的视图

    安卓如何使用R id id name膨胀 XML 后查找视图 1 假设我有两个 XML 每个按钮都有相同的 id 2 我对它们进行了膨胀并将它们转换为视图 3 R id类中只有一个int将为这两个按钮创建 android 如何区分这些具有相
  • 如何在运行时添加TextView?

    如何在运行时向布局添加新的 TextView 是否可以 完整的解决方案 View parent parent view where to add ViewGroup layout new LinearLayout context layou
  • 如何在静音模式下启用媒体声音

    即使在静音模式下如何启动声音 我的音频文件位于我的原始文件夹中 我已经编写了一些代码 但是当我进入 Android 的声音设置时 铃声和闹钟是唯一更改为最大值的设置 但媒体部分没有更改 这是我的代码 public void playSoun
  • 为 Android 编译时显示 FFMPEG 错误

    我正在尝试将 ffmpeg 添加到我的 android 项目中 我使用的是 ubuntu 14 04 操作系统 我正在关注此链接 Link https software intel com en us android blogs 2013
  • android.R.layout.simple_list_item_1是什么?

    在我看到的所有示例中 他们在创建 ArrayAdapter 时仅使用 android R layout simple list item 1 android R layout simple list item 1是什么 它只是一个名为sim
  • 如何在Android上读取/写入外部USB存储设备?

    我目前正在制作一个应用程序 需要能够读取和写入通过 USB OTG 适配器连接的 USB 闪存驱动器 有没有一种简单的方法可以通过标准访问此存储Java io File蜜蜂 该应用程序只能在运行 Android 4 2 2 的已 root
  • 应用程序启动时显示徽标几秒钟

    我想在应用程序启动并且菜单可见之前显示徽标几秒钟 当它消失时我也想使用一些 我应该创建一个新活动吗 我可以在布局中设置它吗 为包含您的徽标的初始屏幕定义一个布局 然后将此代码添加到您的活动中 public void onCreate Bun
  • Gerrit/repo 遇到“error.GitError:远程没有评论 url”

    我正在尝试在一家封闭的商店中为 Android 开发设置 Gerrit 和存储库 我在安装 Gerrit 服务器时遇到了很少的问题 但我在客户端工作站上收到此错误 repo start Falk vi AndroidManifest xml
  • Google Analytics 数据中出现未知的应用版本

    我有一个Android应用程序发布到Google Play商店 它的apk文件也被我不认识的人发布到一些中国商店 今天我注意到Google Analytics数据中一个非常奇怪的情况 我从未发布过1 6 3版本 但我注意到它在那里 有37个
  • 在为 OSMDroid 实现片段时,maps.y.p.onResume(未知来源)处出现 NulPointerException

    我目前正在尝试将我的 OSMDroid 地图活动转移到片段中 似乎一切都已正确设置 但我收到了这个奇怪的 NullPointerException 我不确定能否解决 02 20 23 59 36 140 E AndroidRuntime 9

随机推荐

  • Gradle 食谱“为其他插件创建源和资源目录”

    我可以在食谱中看到以下内容 task create dirs lt lt sourceSets all java srcDirs each it mkdirs sourceSets all resources srcDirs each it
  • 在 Google Cloud 中将 http 重定向到 https

    我已经设置了一个负载均衡器 它接受来自用户的 https 连接 然后 计算引擎使用 http 连接连接到负载均衡器 我在根文件夹中编写了以下 htaccess 文件 RewriteEngine On RewriteCond HTTPS of
  • 如何计算图表的趋势线?

    谷歌不是我的朋友 自从我在大学上统计课以来已经很长时间了 我需要计算图表上趋势线的起点和终点 有没有一种简单的方法可以做到这一点 使用 C 工作 但任何适合你的语言 感谢大家的帮助 我已经离开这个问题几天了 刚刚回来 能够将其拼凑在一起 不
  • 在Python中,一行中的多个“with”语句是否相当于嵌套的“with”语句?

    这两个陈述等价吗 with A as a B as b do something with A as a with B as b do something 我问是因为两者a and b改变全局变量 这里是张量流 和b取决于所做的更改a 所以
  • 使用 Git diff 检测代码移动 + 如何使用 diff 选项

    考虑文件 1 c 包含三个函数以及作者 M 和 J 所做的更改 如果有人运行git blame 1 c 他将得到以下输出 869c699 M 2012 09 25 14 05 31 0600 1 de24af82 J 2012 09 25
  • MVC @Html.DropDownList 在 ViewBag 中使用 SelectList 时出现错误

    我有一个在控制器中创建的列表 var PayList new new ListEntry Id 1 Name new ListEntry Id 2 Name Yes new ListEntry Id 3 Name No ViewBag Pa
  • 如何使用事件处理程序检测实时 DigiScan 图像何时完成获取完整帧?

    我正在寻找实时 DigiScan 图像的快照 但是 我只想在获取完整 或接近完整 的帧时才这样做 将事件处理程序附加到实时 DigiScan 图像不起作用 因为图像会随着连续采集的每一行而 变化 我希望仅监视实时图像的最后几个像素 并仅在这
  • Wordpress 有条件 if is_single

    我尝试在我的 single php 页面上使用条件语句 我想要做的是 如果它是自定义帖子类型 current products 则使用特定的 single product php 模板页面 如果不是 即标准博客文章 则使用默认的 singl
  • 使用 LINQ to MySQL (DbLinq) 和动态 LINQ 的可排序 JqGrid - Orderby 不起作用

    我在 JqGrid 中排序条目时遇到问题 Orderby 似乎不起作用 我在代码中设置了断点 我注意到 orderby 不会改变元素的顺序 知道可能出什么问题吗 我正在使用 LINQ to SQL 和 MySQL DbLinq 项目 我的操
  • 如何使用 BERT 进行机器翻译?

    我遇到了一个大问题 对于我的学士论文 我必须使用 BERT 制作一个机器翻译模型 但我现在一事无成 您知道可以在这里帮助我的文档或其他东西吗 我已经阅读了一些这方面的论文 但也许有文档或教程可以帮助我 对于我的学士论文 我必须将文本摘要翻译
  • 如何让 JavaScript 延迟,然后刷新页面

    我希望我的 JavaScript 在我创建的函数结束时等待七秒钟 然后刷新我的页面 如果它很重要 我在下面列出了 JavaScript 和 HTML 的重要部分 JavaScript var textfill function var no
  • 录音在java中不工作

    我正在尝试通过java录制声音 该声音正在我的Windows机器上通过扬声器 耳机播放 我遇到的问题是我没有找到 AudioSystem 支持的单个 TargetDataLine 我尝试了 getSupportedFormats 方法来检查
  • 编程范式、设计模式和应用程序架构之间的区别?

    我没有编程背景 经常遇到编程范式 设计模式和应用程序架构等术语 虽然我认为我对这些术语的含义有一个模糊的理解 但如果有人能够澄清每个术语是什么 它们与其他术语有何不同以及这些概念如何应用于 Objective C 我将不胜感激 编程范式 类
  • 如何显示输入类型=“datetime-local”的值?

    我的代码是这样的 div test div div div
  • 如何确定 QAction 的来源?

    我想知道是否有任何简单 优雅的方法来确定 QAction 的来源 我的意思是我有一个 QAction 它被添加到多个 QWidget 带有QWidget addAction http doc qt nokia com latest qwid
  • 以编程方式清除cloudflare缓存

    在将请求发送到 node js api 后 我尝试以编程方式清除单个 url 的 cloudflare 缓存 我正在使用https github com cloudflare node cloudflare https github com
  • 尝试计算手机解锁的次数

    几个月前我对此感到厌倦 但失败了 我想做的是计算用户解锁手机的次数并将其显示在屏幕上 但每次解锁手机时我都会得到模糊的数字 我的代码如下 我的主要活动 oncreate Override protected void onCreate Bu
  • 将文本插入传入电子邮件 Outlook 2013 锁定只读

    我正在努力通过 VBA 在传入电子邮件中插入字符串 该例程在发送邮件时工作正常 并且如果用户单击 操作编辑 它将对传入邮件起作用 问题是传入邮件被锁定为只读模式 在过去的 13 5 个小时里我到处寻找 在早期版本的 Outlook 中这是可
  • 如何在具有多个峰值的数据集中找到 FWHM?

    我正在使用一个 Python 脚本 它可以在特定的值范围内沿着一维轮廓查找峰值 或在我的例子中为谷值 的索引 我的目标是测量每个感兴趣的山谷的半高宽 这是一维轮廓的示例 https i stack imgur com UTj33 png 这
  • 当应用程序在后台时,android O 中的 onMessageReceived 不会被调用

    我正在从我的服务器发送数据有效负载通知 这是示例 url https fcm googleapis com fcm send to userToken data some json here 通过这种方式 即使应用程序没有运行 我也可以在所