在 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" />
但無需指定具體類型。