如果应用程序未运行,为什么不显示平视通知

2024-02-16

我使用 fcm 实现了平视通知。 当应用程序收到 fcm 通知时,如果我的应用程序正在运行,则平视通知会显示在屏幕上。那挺好的。

但如果我的应用程序处于后台或被杀死,则不会显示平视通知。 我怎么解决这个问题? (也许我认为如果我的应用程序在收到 fcm 通知时正在运行,MyFirebaseMessagingService 工作良好。但是如果我的应用程序处于后台或被杀死,MyFirebaseMessagingService 类将不起作用)

public class MyFirebaseMessagingService extends FirebaseMessagingService {

    @Override
    public void onMessageReceived(RemoteMessage remoteMessage) {
        Map<String, String> data = remoteMessage.getData();
        sendNotification(remoteMessage);
    }

    private void sendNotification(RemoteMessage message) {

        Intent push = new Intent(this, SplashActivity.class);
        push.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP
                | Intent.FLAG_ACTIVITY_CLEAR_TASK
                | Intent.FLAG_ACTIVITY_NEW_TASK);
        PendingIntent fullScreenPendingIntent = PendingIntent.getActivity(this, 0, push, PendingIntent.FLAG_CANCEL_CURRENT);
        NotificationCompat.Builder builder = (NotificationCompat.Builder) new NotificationCompat.Builder(this)
                .setSmallIcon(R.drawable.ic_launcher)
                .setWhen(System.currentTimeMillis())
                .setContentTitle("test")
                .setContentText(message.getNotification().getBody())
                .setCategory(NotificationCompat.CATEGORY_MESSAGE)
                .setVibrate(new long[] {0})
                .setDefaults(Notification.DEFAULT_ALL)
                .setAutoCancel(true)
                .setPriority(NotificationCompat.PRIORITY_HIGH)
                .setContentIntent(fullScreenPendingIntent);
        NotificationManager nm =
                (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
        nm.notify(1, builder.build());

    }


}

有两种类型的 FCM 消息可用。

  1. 通知消息,有时被认为是“显示消息”。

  2. 数据消息,由客户端应用程序处理。

通知消息不会显示。当您的应用程序未运行或被终止时。

请检查下面的链接,它会对您有所帮助。

https://firebase.google.com/docs/cloud-messaging/concept-options https://firebase.google.com/docs/cloud-messaging/concept-options

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

如果应用程序未运行,为什么不显示平视通知 的相关文章

  • 如何从 SDK 实现每个会话的 Google Places 自动完成功能?

    是否可以从 Android 和 iOS 应用程序的 place sdk 实现基于会话的自动完成 根据 6 月 11 日生效的新 Google 地图框架定价 对自动完成的请求可以分为基于击键 会话的请求 我找不到描述实施步骤的文档 除了这个参
  • android edittext中的字符映射

    我想让我的编辑文本就像我写字符 g 时一样 它是相关的映射自定义字符应该写成印地语中的 我认为应该有字符映射 但没有知识任何人都可以帮助我 怎么做 其他应用程序https play google com store apps details
  • Xamarin Android Webview Javascript

    我正在尝试通过 Xamarin for Android 创建一个移动应用程序 它有一个显示网站的 WebView 问题是正常按钮会触发 但 javascript 事件不会触发 我已经启用了 Javascript 但没有运气 如何在 Andr
  • 按下按钮时应用不同的样式

    有没有办法在按下按钮时将样式应用于按钮 如果我有一种风格样式 xml
  • 将现有 VARCHAR 列与 Room 结合使用

    我正在尝试将现有的数据库与 Android Room 一起使用 但是 我的一个表有一个 VARCHAR 列 Room 似乎只支持 TEXT 不支持 VARCHAR 而且 sqlite 不允许修改列类型 那么 有没有办法使用Room中现有的带
  • Android应用程序组件销毁和重新创建的详细信息

    有人可以向我提供一些具体的 值得信赖的 最好是简洁的 信息 内容如下 系统销毁和 如果适用 重新创建组件的顺序 片段 活动 活动的线程 异步任务 计时器 静态数据 类何时卸载 其他类中的线程 异步任务 定时器 主机 TabActivity
  • 通过 WhatsApp 发送消息

    由于我发现了一些较旧的帖子 表明 Whatsapp 不支持此功能 我想知道是否发生了变化 以及是否有办法打开与我通过意图发送的号码进行 Whatsapp 聊天 UPDATE请参阅https faq whatsapp com en andro
  • 如何在我现有的 Android 应用程序中使用 Telegram API(包括聊天应用程序)?

    我想使用 telegram API 在我现有的 Android 应用程序中开发聊天功能 我不知道如何实施 我认为 看看Telegram 数据库库 测试版 从这里TDLib https core telegram org tdlib 俄语 但
  • Android 深度链接至 Instagram 应用

    Instagram 已经发布了 iOS 深层链接的 url 方案 但尚未为 Android 创建文档 有没有办法深入链接到 Android 上的 Instagram 应用程序 以转到 Instagram 应用程序中的特定位置 例如 Inst
  • 在 android 中建立与 MySQL 的池连接

    我需要从我的 Android 应用程序访问 MySQL 数据库 现在所有的工作都通过 DriverManager getConnection url 等等 但我必须从多个线程访问数据库 所以我必须使用连接池 问题1 是 com mysql
  • 从 BroadcastReceiver 类调用活动方法

    我知道我可以做一个内部接收器类来调用接收器中的任何方法 但我的主要活动太大了 要做的事情也很多 因此 我需要一个扩展广播接收器的类 但它不是内部类 并且可以从我的主要活动中调用一种方法 我不知道是否可能 但我的活动是家庭活动和 single
  • 如何在谷歌地图android上显示多个标记

    我想在谷歌地图android上显示带有多个标记的位置 问题是当我运行我的应用程序时 它只显示一个位置 标记 这是我的代码 public class koordinatTask extends AsyncTask
  • Mipmap 与可绘制文件夹[重复]

    这个问题在这里已经有答案了 我正在使用 Android Studio 1 1 Preview 1 我注意到 当我创建一个新项目时 我得到以下层次结构 不同 DPI 的 Mipmap 文件夹 不再有不同 DPI 的可绘制文件夹 我应该将所有资
  • WorkManager 或 AlarmManager 用于日常请求然后通知工作?

    这是用例 用户设置具有特定时间的每日通知 在指定时间 发出网络请求以获取一些数据 然后使用检索到的数据显示通知 我不确定是否应该使用 AlarmManager 还是 WorkManager 来实现这个用例 据我了解 AlarmManager
  • 我应该释放或重置 MediaPlayer 吗?

    我有自己的自定义适配器类 称为 WordAdapter 并且我正在使用媒体播放器 名为pronounce WordAdapter 类中的全局变量 我有不同的活动 其中每个列表项都有线性布局 名为linearLayout 我正在设置onCli
  • Android:无法使用 DbHelper 和 Contract 类将数据插入 SQLite

    public class Main2Activity extends AppCompatActivity private EditText editText1 editText2 editText3 editText4 private Bu
  • 如何检查 Android 中的同步设置

    我正在构建一个 Android 应用程序 我需要检查设备中注册的每个单独帐户的同步设置 我知道我可以通过 ContentResolver 类来做到这一点 但我遇到了一些问题 我已设法获取设备上所有帐户的列表 但我不知道在运行时从哪里获取特定
  • 没有支持 FEATURE_CAMERA_EXTERNAL 的 Android 设备

    根据this doc https source android com devices camera external usb cameras一些 Android 设备允许使用 Camera2 API 访问外部 USB 摄像头 我检查了大约
  • Android:如何从网络异步获取搜索建议?

    我创建了一个可搜索的活动 现在 我想添加从网络服务获取的搜索建议 我想异步获取这些建议 根据添加自定义建议 http developer android com guide topics search adding custom sugge
  • 发布的 Android apk 出现错误“包文件未正确签名”

    我最近将我的应用程序上传到 Android 市场 但是由于错误 下载时它拒绝运行 包文件未正确签名 我首先使用 eclipse 发布了数据包 右键单击导出 创建密钥库然后发布 但它拒绝工作 然后我下载了 keytool 和 jarsigne

随机推荐

  • 可达性与 UIDevice-Reachability

    我需要在我的 iPhone 项目中测试网络可达性 使用哪个项目比较好 可达性 http developer apple com library ios samplecode Reachability Introduction Intro h
  • 将数组中数字的所有组合相加

    我正在尝试用 javascript 编写一个程序 从 html 文本区域中获取未指定数量的数字 并尝试所有组合 将所有数字彼此相加 以查看它是否与您指定的数字匹配 现在我可以用文本区域中的字符串创建一个数组并使用for循环我把它们加起来 见
  • Consul healthcheck 运行后状态为“Dead”的 Docker 容器

    我正在使用领事的健康检查功能 并且我不断收到这些 死 容器 CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 20fd397ba638 progrium consul latest
  • 现有项目的 XCTest

    我有一个很大的 大约 700 个模块 iOS 项目 现在我需要对现有代码进行单元测试 在我们没有使用它之前 我已经为我的目标添加了新的 XCTest 测试目标 并开始编写我的第一个测试 但是编译后我遇到了一些链接错误 因为我的项目中的模块没
  • 使用 Swift 的没有情节提要或 xib 文件的 OSX 应用程序

    不幸的是 我没有在互联网上找到任何有用的东西 我想知道 在不使用 Swift 中的 Storyboard 或 XIB 文件的情况下 我实际上需要键入哪些代码来初始化应用程序 我知道我必须有一个 swift文件名为main 但我不知道在那里写
  • 针对特定主机向特定用户发送 Nagios 服务通知

    使用 Nagios 我希望能够在特定主机上的服务出现故障时向用户发送通知 然而 另一台主机上的相同服务应该提醒其他人 例如 HostA 已启动 但 Host 上的 www 服务已关闭 gt 通知 UserS HostB 已启动 并且 Hos
  • 有什么方法可以匹配 Visual Fox Pro 和 C# 的 RAND(INT) 方法。网

    我正在将 Visual Fox Pro 代码迁移到 C 网 Visual Fox Pro 的特点是什么 基于文本字符串 在文本框中捕获 生成一个 5 位数字的字符串 48963 如果您始终输入相同的文本字符串 则该字符串将始终为 5 位数字
  • 设置类型的可变长度参数列表

    好吧 我很确定以前已经以某种方式讨论过这个问题 但我显然太愚蠢了 找不到它 首先 我不是在寻找 va list 和其他宏 我正在寻找类似主函数参数的东西 众所周知 默认原型是 int main int argc char argv 现在 我
  • Asp.Net Core 区域路由到 Api 控制器不起作用

    我有一个托管在某个区域的 API 控制器 然而 路由似乎不起作用 因为我的 ajax 调用在尝试执行控制器操作时不断返回 404 控制器构造函数中的断点永远不会被命中 Area WorldBuilder Route api controll
  • 浏览器中默认选择的文本颜色 - 它是什么?

    假设没有 CSS javascript 或其他 HTML 技巧 浏览器如何确定所选文本的文本颜色和背景 例如 标准白色背景 FFFFFF or RGB 255 255 255 黑色文字 000000 or RGB 0 0 0 当选择反转颜色
  • IBM Worklight 5.0.6.x - 混合 Android 应用程序无法在真实设备上运行

    我已经使用 Android 环境创建了一个 Worklight 应用程序并尝试运行它 它在 Android 模拟器中工作正常 但当我尝试在 Android 设备中运行它时 它显示错误 不幸的是该应用程序已停止 有人可以帮助我解决这个问题吗
  • 使其Pythonic:创建一个sqlite3数据库(如果它不存在)?

    我编写了一个 Python 脚本 如果数据库不存在 它会初始化一个空数据库 import os if not os path exists Database os makedirs Database os system sqlite3 Da
  • 如何用纯 JavaScript 实现 jQuery Mobile 动画 Ajax 页面导航(转换)

    我一直在使用基于 CSS3 的动画来在单页应用程序中使用 javascript 来对页面进行动画处理 最近我在使用 jQuery mobile 默认情况下 对于所有链接 jQuery Mobile 使用 ajax 加载页面并为其设置动画 我
  • 在 JSP 中加载 img

    我正在尝试在 JSP 中动态加载图像 并且我正在尝试执行以下操作 img src 其中 book img 包含一个字符串 绝对路径 我该如何解决这个问题 我收到的错误如下 元素 img 上的属性 src 值错误 路径中的 DOUBLE WH
  • mathematica 可以做一些平面几何绘图吗

    我正在尝试使用计算机来显示一些平面几何图 我不知道什么软件可以做到这一点 也不知道mathematica是否可以轻松地生成这样的图 例如 我有以下情节要展示 给定任何三角形 ABC 设 AD 为平分角 BAC 并与 BC 相交于 D 的线
  • 列的类型为没有时区的时间戳,但表达式的类型为字符变化:Nifi

    我正在尝试使用 nifi 将 CSV 记录插入 Postgres 数据库 示例 csv 文件 timenow location 2019 10 21 15 13 11 colombo nifi场景运行时 出现以下错误 错误列 timenow
  • 在控制台应用程序中使用 WebBrowser

    我想用它来调用网页上的一些JS脚本 我有这个 static void Stuff WebBrowser browser new WebBrowser browser Navigate http www iana org domains ex
  • 将背景设置为空

    如果我在 xml 布局中使用以下行 android background null 安全吗 从性能的角度来看有效吗 或者 最好从以下位置设置布局或组件的背景 实际代码为空 android background null 绝对安全 如果你想根
  • 如何将 SourceGear DiffMerge 设置为 Visual Studio 的差异/合并工具?

    我使用 TFS 进行源代码控制 但我想使用 SourceGear DiffMerge 查看文件差异并进行合并 我找到了 工具 gt 选项 gt 源代码管理 gt Visual Studio Team Foundation Server gt
  • 如果应用程序未运行,为什么不显示平视通知

    我使用 fcm 实现了平视通知 当应用程序收到 fcm 通知时 如果我的应用程序正在运行 则平视通知会显示在屏幕上 那挺好的 但如果我的应用程序处于后台或被杀死 则不会显示平视通知 我怎么解决这个问题 也许我认为如果我的应用程序在收到 fc