如何为 Android Oreo 创建没有通知的后台服务,例如社交网络应用程序 Facebook、Messenger、Zalo

2023-12-25

我看到一些应用程序(例如 Messenger、Zalo)不需要通知,但仍然在后台运行。怎么做。我使用的设备是小米A1(Android 8)和诺基亚6.1(Android 8.1)。任何解决方案指南都受到高度赞赏


从 Android 6.0(API 级别 23)开始,Android 引入了两项省电功能,可以延长用户的电池寿命:打瞌睡和应用程序待机。当手机处于打瞌睡模式时,这两个功能对后台处理施加了许多限制。您应该在以下链接中阅读有关打瞌睡和应用程序待机的信息

https://developer.android.com/training/monitoring-device-state/doze-standby https://developer.android.com/training/monitoring-device-state/doze-standby

现在,关于您的用例是,即使应用程序未运行,您也希望接收消息和来电。对于这个用例,Android 宣布高优先级 FCM 消息在GoogleIO2016。它们是高优先级推送消息,授予应用程序临时唤醒锁和网络访问权限,与设备的打瞌睡状态或应用程序恰好处于应用程序待机状态无关。这允许应用程序对消息做出反应,并以任何其想要的方式通知用户有关即时消息或来电的信息。

有关您的用例的更多信息,请关注以下 GoogleIO2016 视频(08:30m 至 10:30m)

并在此答案的第一个链接上阅读有关此用例的信息。

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

如何为 Android Oreo 创建没有通知的后台服务,例如社交网络应用程序 Facebook、Messenger、Zalo 的相关文章

  • 使用 xamarin 和 c# 更改 android 上的cultureinfo

    我调用自定义方法来动态地将当前文化信息切换为法语 fr 像这样 但在调用该方法后 我的 Android 应用程序仍然使用默认区域性 en 但在调试模式下 区域性似乎没问题 我的文件夹没问题 我两者都有 并且字符串值已配置 文件夹 resou
  • 在 NestedScrollView 内找不到 RecyclerView 可见项目位置

    如果回收器视图中的第一个 最后一个完全可见的项目位于 NestedScrollView 内并且回收器具有nestedScrollingEnabled false 以便与 RecyclerView 上方的其他视图平滑滚动 所有这些功能 int
  • 已将 APK 上传到 Play 商店,获得 0 个受支持的设备,但没有错误

    我正在尝试将我的应用程序的 Alpha 版本发布到 Play 商店 但我得到了 0 个受支持的设备 这令人沮丧 因为我没有看到该错误 该项目是一个新的样式 gradle API声明和版本在build gradle中定义 您可以在此处获取该应
  • Android API 列表

    我想获取 CellInfo 数据 但 cellinfo size 总是发生 模拟器中的 NullPointerException 细胞信息链接 http developer android com reference android tel
  • 从布局中添加和删除视图

    如何从布局中添加和删除视图 我是这样做的 ViewManager entry getParent removeView entry
  • Kotlin Android 视图绑定:findViewById、Butterknife 与 Kotlin Android 扩展

    我正在尝试找出在 Kotlin 中进行 Android 视图绑定的最佳方法 似乎有一些选择 按Id查找视图 val button Button by lazy findViewById
  • eclipse 找不到我的 sdk 文件夹

    我已经在 Windows 7 上的 eclipse helios 上安装了 android sdk 和 adt 插件 但是 当我进入首选项时 我在定位 sdk 位置时遇到了问题 我的 SDK 位置是 C Program Files Andr
  • 使用 android-async-http (loopj) 发布 JSON/XML

    我在用android async http http loopj com android async http 并且真的很喜欢它 我在发布数据时遇到了问题 我必须按照以下格式将数据发布到 API
  • 如何解决Android中的NullPointerException错误?

    下面的代码在 Eclipse 的模拟器中运行顺利 但在 Android 手机和平板电脑上运行时出现问题 public class RingerActivity extends Activity Called when the activit
  • Fabric Beta 和 APK 拆分

    我根据 ABI 而不是密度来拆分我的应用程序 如下所示 splits abi enable true reset include x86 armeabi armeabi v7a mips arm64 v8a universalApk tru
  • 语音识别和文本转语音

    我想开发一个实现语音识别的应用程序 然后使用文本到语音引擎实现文本到语音 我发布了下面的代码 我使用两个按钮和一个列表视图 一个按钮用于语音识别 另一个按钮用于文本转语音 列表视图用于两者 首先在列表视图中发布语音识别的结果 然后应用程序将
  • 如何将 Material 按钮与其他 UI 元素对齐

    我无法将默认材质按钮与 UI 的其他元素对齐 事实上 我已经查看了 Android 源代码 按钮的背景包含插图 以便能够绘制阴影并处理单击时按钮的高度
  • 谷歌分析崩溃报告仅显示堆栈跟踪的第一行

    我的应用程序使用 Google Analytics 来跟踪异常和崩溃 除其他外 我使用这个函数来获取堆栈跟踪 public static void sendErrorReportViaGoogleAnalytics Exception e
  • Google Play 将我的应用程序版本显示为“随设备而变化”

    我最近在 Google Play 商店更新了我的应用程序 在我的 Play 商店应用程序页面中 版本显示为因设备而异我没有上传多个 apk 而是使用单个 apk 更新了我的应用程序 那么为什么它显示版本为因设备而异 是否有任何设置可以删除此
  • AppWidget 中的进度条

    我在应用程序小部件中使用 ProgressBar 时遇到了一个有趣的情况 文档 http developer android com guide topics appwidgets index html http developer and
  • 无法将图像从 url 存储到 SD 卡

    我想将图像存储在 mnt sdcard 中 package com Downld file frm net import java io BufferedInputStream import java io File import java
  • 如何保存/加载 BigInteger 数组

    我想保存 加载BigInteger数组传入 传出 SharedPreferences 如何做呢 例如对于以下数组 private BigInteger dataCreatedTimes new BigInteger 20 Using Gso
  • MediaPlayer() 音频口吃(android)

    我正在我的 Android 应用程序中使用 MediaPlayer 函数从远程服务器传输实时音频流 但音频断断续续且断断续续 问题不在于我的互联网 因为当我在计算机上播放时 提要播放得很好 可能是什么问题 注意 直播正在进行中 这是我正在使
  • 从 SD 卡读取 pdf 文件

    我想阅读存储在 SD 卡中的 pdf 文件 我尝试使用此代码片段 File file new File Environment getExternalStorageDirectory vvveksperten ypc pdf Package
  • onActivityResult() Intent 数据始终为 null

    有人可以告诉我为什么Intent data总是为空 Override protected void onActivityResult int requestCode int resultCode Intent data super onAc

随机推荐