Foreground service type

This commit is contained in:
2025-10-18 18:03:53 +02:00
parent e99203c7e4
commit 7972a335c3
8 changed files with 32 additions and 5 deletions

View File

@@ -533,6 +533,13 @@ public class ActivityMainScreen extends ActivityGeneric
return;
}
if(Miscellaneous.getTargetSDK(Miscellaneous.getAnyContext()) >= 34 && !ActivityPermissions.havePermission(Manifest.permission.FOREGROUND_SERVICE_SPECIAL_USE, context))
{
Toast.makeText(context, context.getResources().getString(R.string.permissionForegroundServiceTypeSpecialUseRequired), Toast.LENGTH_LONG).show();
activityMainScreenInstance.toggleService.setChecked(false);
return;
}
if (!AutomationService.isMyServiceRunning(context))
{
myServiceIntent = new Intent(context, AutomationService.class);

View File

@@ -424,6 +424,11 @@ public class ActivityPermissions extends Activity
}
}
if(Miscellaneous.getTargetSDK(Miscellaneous.getAnyContext()) >= 34 && !havePermission(Manifest.permission.FOREGROUND_SERVICE_SPECIAL_USE, workingContext))
{
addToArrayListUnique(Manifest.permission.FOREGROUND_SERVICE_SPECIAL_USE, requiredPermissions);
}
if(!havePermission(Manifest.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS, workingContext))
addToArrayListUnique(Manifest.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS, requiredPermissions);

View File

@@ -12,6 +12,7 @@ import android.app.PendingIntent;
import android.app.Service;
import android.content.Context;
import android.content.Intent;
import android.content.pm.ServiceInfo;
import android.media.AudioManager;
import android.os.Binder;
import android.os.Build;
@@ -660,7 +661,10 @@ public class AutomationService extends Service implements OnInitListener
myNotification.flags |= Notification.FLAG_NO_CLEAR;
// notificationManager.notify(notificationId, myNotification);
instance.startForeground(notificationId, myNotification);
if(Miscellaneous.getTargetSDK(Miscellaneous.getAnyContext()) >= 34)
instance.startForeground(notificationId, myNotification, ServiceInfo.FOREGROUND_SERVICE_TYPE_SPECIAL_USE);
else
instance.startForeground(notificationId, myNotification);
}
}

View File

@@ -543,7 +543,7 @@ public class Profile implements Comparable<Profile>
{
AudioManager am = (AudioManager) Miscellaneous.getAnyContext().getSystemService(Context.AUDIO_SERVICE);
if(changeSoundMode)
if(changeSoundMode)
Actions.setSound(context, soundMode);
if(changeDndMode)