Использование PendingIntent в Android ⇐ Android
Использование PendingIntent в Android
Мое приложение отлично работало на более старой версии Android, но при попытке запустить его на Android 34 возникло исключение
Код:
Intent NotificationIntent = new Intent(this, MainActivity.class); PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, NotificationIntent, 0); Исключение:
java.lang.IllegalArgumentException: com.kpv.mqtt: Для ориентации на S+ (версия 31 и выше) требуется, чтобы при создании PendingIntent был указан один из FLAG_IMMUTABLE или FLAG_MUTABLE. Настоятельно рассмотрите возможность использования FLAG_IMMUTABLE, используйте FLAG_MUTABLE только в том случае, если какая-то функциональность зависит от изменяемого PendingIntent, например. если его нужно использовать со встроенными ответами или пузырьками. Изменено на код с флагом:
Новый код:
Intent NotificationIntent = new Intent(this, MainActivity.class); PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, NotificationIntent, FLAG_IMMUTABLE); Есть исключение:
Невозможно запустить службу com.xxx с намерением { cmp=com.xxx.mqtt/.MqttGndService (есть дополнительные возможности) }: android.app.MissingForegroundServiceTypeException: запуск FGS без типа callerApp=ProcessRecord{cd4e08b 9230: com.xxx.mqtt/u0a182} targetSDK=34 Как решить эту проблему?
Мое приложение отлично работало на более старой версии Android, но при попытке запустить его на Android 34 возникло исключение
Код:
Intent NotificationIntent = new Intent(this, MainActivity.class); PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, NotificationIntent, 0); Исключение:
java.lang.IllegalArgumentException: com.kpv.mqtt: Для ориентации на S+ (версия 31 и выше) требуется, чтобы при создании PendingIntent был указан один из FLAG_IMMUTABLE или FLAG_MUTABLE. Настоятельно рассмотрите возможность использования FLAG_IMMUTABLE, используйте FLAG_MUTABLE только в том случае, если какая-то функциональность зависит от изменяемого PendingIntent, например. если его нужно использовать со встроенными ответами или пузырьками. Изменено на код с флагом:
Новый код:
Intent NotificationIntent = new Intent(this, MainActivity.class); PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, NotificationIntent, FLAG_IMMUTABLE); Есть исключение:
Невозможно запустить службу com.xxx с намерением { cmp=com.xxx.mqtt/.MqttGndService (есть дополнительные возможности) }: android.app.MissingForegroundServiceTypeException: запуск FGS без типа callerApp=ProcessRecord{cd4e08b 9230: com.xxx.mqtt/u0a182} targetSDK=34 Как решить эту проблему?
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение