Define websocket foreground service type
This commit is contained in:
@@ -10,6 +10,7 @@
|
|||||||
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
|
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
|
||||||
<uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
|
<uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
|
||||||
<uses-permission android:name="android.permission.SCHEDULE_EXACT_ALARM" />
|
<uses-permission android:name="android.permission.SCHEDULE_EXACT_ALARM" />
|
||||||
|
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_SPECIAL_USE" />
|
||||||
|
|
||||||
<application
|
<application
|
||||||
android:name=".GotifyApplication"
|
android:name=".GotifyApplication"
|
||||||
@@ -73,7 +74,13 @@
|
|||||||
android:exported="false"
|
android:exported="false"
|
||||||
android:theme="@style/AppTheme.Dialog" />
|
android:theme="@style/AppTheme.Dialog" />
|
||||||
|
|
||||||
<service android:name=".service.WebSocketService" />
|
<service
|
||||||
|
android:name=".service.WebSocketService"
|
||||||
|
android:foregroundServiceType="specialUse">
|
||||||
|
<property
|
||||||
|
android:name="android.app.PROPERTY_SPECIAL_USE_FGS_SUBTYPE"
|
||||||
|
android:value="explanation_for_special_use" />
|
||||||
|
</service>
|
||||||
|
|
||||||
<receiver android:name=".init.BootCompletedReceiver"
|
<receiver android:name=".init.BootCompletedReceiver"
|
||||||
android:exported="true">
|
android:exported="true">
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ import android.app.NotificationManager
|
|||||||
import android.app.PendingIntent
|
import android.app.PendingIntent
|
||||||
import android.app.Service
|
import android.app.Service
|
||||||
import android.content.Intent
|
import android.content.Intent
|
||||||
|
import android.content.pm.ServiceInfo
|
||||||
import android.graphics.Color
|
import android.graphics.Color
|
||||||
import android.net.ConnectivityManager
|
import android.net.ConnectivityManager
|
||||||
import android.net.Network
|
import android.net.Network
|
||||||
@@ -285,7 +286,15 @@ internal class WebSocketService : Service() {
|
|||||||
|
|
||||||
notificationBuilder.setContentIntent(pendingIntent)
|
notificationBuilder.setContentIntent(pendingIntent)
|
||||||
notificationBuilder.color = ContextCompat.getColor(applicationContext, R.color.colorPrimary)
|
notificationBuilder.color = ContextCompat.getColor(applicationContext, R.color.colorPrimary)
|
||||||
startForeground(NotificationSupport.ID.FOREGROUND, notificationBuilder.build())
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.UPSIDE_DOWN_CAKE) {
|
||||||
|
startForeground(
|
||||||
|
NotificationSupport.ID.FOREGROUND,
|
||||||
|
notificationBuilder.build(),
|
||||||
|
ServiceInfo.FOREGROUND_SERVICE_TYPE_SPECIAL_USE
|
||||||
|
)
|
||||||
|
} else {
|
||||||
|
startForeground(NotificationSupport.ID.FOREGROUND, notificationBuilder.build())
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun showNotification(
|
private fun showNotification(
|
||||||
|
|||||||
Reference in New Issue
Block a user