Android14 - 前台Service、图片选择器 、OpenJDK 17、其他适配

前台服务

1. 指定前台服务类型

     以 Android 14(API 级别 34)或更高版本为目标平台的应用,需要为应用中的每项前台服务指定服务类型,因为系统需要特定类型的前台服务满足特定用例。具体介绍如下:

    在Android 10 在 <service> 元素内引入了 android:foregroundServiceType 属性。
如果您的应用以 Android 14 为目标平台,则必须指定适当的前台服务类型,可组合使用多个类型;以下了可供选择的前台服务类型:
    •    camera
    •    connectedDevice
    •    dataSync
    •    health
    •    location
    •    mediaPlayback
    •    mediaProjection
    •    microphone
    •    phoneCall
    •    remoteMessaging
    •    shortService
    •    specialUse
    •    systemExempted

如果应用中的用例与这些类型均不相关,考虑使用 WorkManager 或Android 14中引入的新Api,即作业必须是用户发起的数据传输作业。

    在上述的类型中,Android 14 中新增 health, remoteMessaging, shortService, specialUse 和 systemExempted 等类型。 

    类型示例:
<manifest ...>
  <uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
  <uses-permission android:name="android.permission.FOREGROUND_SERVICE_MEDIA_PLAYBACK" />
    <application ...>
      <service
          android:name=".MyMediaPlaybackService"
          android:foregroundServiceType="mediaPlayback"
          android:exported="false">
      </service>
    </application>
</manifest>

         备注: 如果以 Android 14 或更高版本为目标的应用未在清单中定义给定服务的类型,系统会在调用 startForeground() 时引发 MissingForegroundServiceTypeException。

2. 启动时包含前台服务类型

        启动前台服务,最好的方式,是使用 ServiceCompat 版本的 startForeground()(适用于 androidx-core 1.12 及更高版本),传入前台服务的类型值,可传入一个或多个,比如aa,或aa|bb, 或aa|bb|cc;  


       启动服务,ServiceCompat

相关推荐

  1. Android 14 应用指南

    2024-07-22 14:48:09       46 阅读
  2. T527 Android13遥控

    2024-07-22 14:48:09       47 阅读
  3. Android 10 】隐私权限变更

    2024-07-22 14:48:09       45 阅读
  4. Unity Android(十) Android14系统

    2024-07-22 14:48:09       25 阅读
  5. Android 14 之 - 隐式/显示 Intent 和 广播

    2024-07-22 14:48:09       15 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-22 14:48:09       52 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-22 14:48:09       54 阅读
  3. 在Django里面运行非项目文件

    2024-07-22 14:48:09       45 阅读
  4. Python语言-面向对象

    2024-07-22 14:48:09       55 阅读

热门阅读

  1. nginx虚拟主机配置项

    2024-07-22 14:48:09       16 阅读
  2. 在 CentOS 7 上编译安装 Python 3.11

    2024-07-22 14:48:09       14 阅读
  3. 算法学习3——搜索算法

    2024-07-22 14:48:09       17 阅读
  4. IaaS是什么的简称?关于IaaS的介绍

    2024-07-22 14:48:09       18 阅读
  5. [C++]——常见内存泄漏场景

    2024-07-22 14:48:09       16 阅读
  6. element表单disabled功能失效问题

    2024-07-22 14:48:09       16 阅读
  7. 塔子哥的浏览记录-小红书2024笔试(codefun2000)

    2024-07-22 14:48:09       21 阅读
  8. [算法题]mari和shiny

    2024-07-22 14:48:09       17 阅读
  9. 面试官:你对ConcurrentHashMap了解多少?

    2024-07-22 14:48:09       16 阅读
  10. 封装的通用链表(list.c/list.h/test_list.c)

    2024-07-22 14:48:09       17 阅读