На большинстве устройств Android 14 это работает нормально, но на некоторых устройствах возникает следующее исключениечто я ловлю:
Код: Выделить всё
Non-fatal Exception: java.lang.SecurityException
Starting FGS with type specialUse callerApp=ProcessRecord{a5fde95 20787:com.myapp/u0a432} targetSDK=34 requires permissions: all of the permissions allOf=true [android.permission.FOREGROUND_SERVICE_SPECIAL_USE]
Код: Выделить всё
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.UPSIDE_DOWN_CAKE)
{
ServiceCompat.startForeground(this, COUNTDOWN_SERVICE_ID, notification, FOREGROUND_SERVICE_TYPE_SPECIAL_USE);
}
else
{
startForeground(COUNTDOWN_SERVICE_ID, notification);
}
Код: Выделить всё
if (ContextCompat.checkSelfPermission(this, Manifest.permission.FOREGROUND_SERVICE) == PackageManager.PERMISSION_GRANTED)
{
// start foreground service
Для полноты моего манифеста есть следующее:
Код: Выделить всё
...
android:name="android.app.PROPERTY_SPECIAL_USE_FGS_SUBTYPE"
android:value="[Description of why foreground service is needed]" />
Подробнее здесь: https://stackoverflow.com/questions/787 ... pecial-use
Мобильная версия