android:foregroundServiceType详解
在 Android 中,foregroundServiceType
是用于声明前台服务类型的属性,主要从 Android 10(API 29)开始引入,并在 Android 11(API 30)及更高版本 中进一步细化。以下是所有可用的 foregroundServiceType
类型及其适用场景:
一、Android 11+ 支持的所有前台服务类型
在 AndroidManifest.xml
中通过 android:foregroundServiceType
声明,可组合使用(用 |
分隔):
服务类型 | 用途 | 所需权限 |
---|---|---|
camera | 相机相关服务(如实时视频传输) | android.permission.CAMERA |
connectedDevice | 与配对设备交互(如蓝牙/Wi-Fi直连) | android.permission.BLUETOOTH_CONNECT |
dataSync | 数据同步服务 | 无特殊权限 |
health | 健康/健身数据采集 | android.permission.HEALTH_DATA |
location | 位置相关服务(如GPS轨迹记录) | android.permission.ACCESS_FINE_LOCATION |
mediaPlayback | 媒体播放服务 | 无特殊权限 |
mediaProjection | 屏幕/音频捕获 | android.permission.MEDIA_PROJECTION |
microphone | 麦克风录音服务 | android.permission.RECORD_AUDIO |
phoneCall | 通话相关服务 | android.permission.PROCESS_OUTGOING_CALLS |
remoteMessaging | 远程消息推送 | 无特殊权限 |
shortService | 短期运行任务(<5分钟) | 无特殊权限 |
specialUse | 特殊用例(需Google批准) | 单独申请 |
二、Android 10 的兼容性处理
Android 10 仅支持基本的前台服务,需添加:
xml
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
但无需指定具体类型。