[@notifee/react-native]: foregroundServiceType 0x000000C0 не является подмножеством атрибута foregroundServiceType 0x000Android

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 [@notifee/react-native]: foregroundServiceType 0x000000C0 не является подмножеством атрибута foregroundServiceType 0x000

Сообщение Anonymous »

В приложении для видеоконференций я недавно добавил службу приоритетного плана в манифест своего приложения, поскольку после того, как приложение находится в фоновом режиме около минуты, другие участники вызова не могут видеть или слышать видео и звук. >
Используя @notifee/react-native, я заявил

Код: Выделить всё

// for android foreground
if (Platform.OS === 'android') {
notifee.registerForegroundService(notification => {
return new Promise(() => {
// handle background event
notifee.onBackgroundEvent(async ({type, detail}) => {
const {pressAction} = detail;

if (type === EventType.ACTION_PRESS && pressAction?.id === 'mic') {
const result = togggleForegroundMic();

if (result) {
notifee.displayNotification({
id: notification.id,
body: notification.body,
android: {
...notification.android,
asForegroundService: true,
foregroundServiceTypes: [
AndroidForegroundServiceType.FOREGROUND_SERVICE_TYPE_CAMERA,
AndroidForegroundServiceType.FOREGROUND_SERVICE_TYPE_MICROPHONE,
],
actions: [
{
title: result,
pressAction: {id: 'mic'},
},
// {
//   title: 'Loud Speaker',
//   pressAction: {id: 'speaker'},
// },
],
},
});
}
}
});

notifee.onForegroundEvent(({type, detail}) => {
if (
type === EventType.ACTION_PRESS &&
detail?.pressAction?.id === 'mic'
) {
const result = togggleForegroundMic();

if (result) {
notifee.displayNotification({
id: notification.id,
body: notification.body,
android: {
...notification.android,
asForegroundService: true,
foregroundServiceTypes: [
AndroidForegroundServiceType.FOREGROUND_SERVICE_TYPE_CAMERA,
AndroidForegroundServiceType.FOREGROUND_SERVICE_TYPE_MICROPHONE,
],
actions: [
{
title: result,
pressAction: {id: 'mic'},
},
// {
//   title: 'Loud Speaker',
//   pressAction: {id: 'speaker'},
// },
],
},
});
}
}
if (
type === EventType.ACTION_PRESS &&
detail?.pressAction?.id === 'speakder'
) {
}
});
});
});
}
в "foregroundServiceTypes" я объявил службы микрофона и камеры в массиве
но это приводит к сбою моего приложения со следующей ошибкой

FATAL EXCEPTION: основной процесс: com.collabnowmobilecleint, PID: 30221 java.lang.RuntimeException: Unable чтобы запустить службу app.notifee.core.ForegroundService@cd7fb43 с намерением { act=app.notifee.core.ForegroundService.START cmp=com.collabnowmobilecleint/app.notifee.core.ForegroundService (есть дополнительные возможности) }: java.lang.IllegalArgumentException : foregroundServiceType 0x000000C0 не является подмножеством атрибута forgroundServiceType 0x00000800 в служебном элементе файла манифеста в android.app.ActivityThread.handleServiceArgs(ActivityThread.java:4289) в android.app.ActivityThread.access$2000(ActivityThread.java:236) в android .app.ActivityThread$H.handleMessage(ActivityThread.java:2001) в android.os.Handler.dispatchMessage(Handler.java:107) в android.os.Looper.loop(Looper.java:264) в android.app. ActivityThread.main(ActivityThread.java:7684) в java.lang.reflect.Method.invoke(Native Method) в com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492) в com.android. Internal.os.ZygoteInit.main(ZygoteInit.java:980) Причина: java.lang.IllegalArgumentException: foregroundServiceType 0x000000C0 не является подмножеством атрибута foregroundServiceType 0x00000800 в служебном элементе файла манифеста в android.os.Parcel.createException(Parcel. java:2075) в android.os.Parcel.readException(Parcel.java:2039) в android.os.Parcel.readException(Parcel.java:1987) в android.app.IActivityManager$Stub$Proxy.setServiceForeground(IActivityManager.java) :6720) в android.app.Service.startForeground(Service.java:742) в app.notifee.core.ForegroundService.onStartCommand(SourceFile:21) в android.app.ActivityThread.handleServiceArgs(ActivityThread.java:4271) в android .app.ActivityThread.access$2000(ActivityThread.java:236) в android.app.ActivityThread$H.handleMessage(ActivityThread.java:2001) в android.os.Handler.dispatchMessage(Handler.java:107) в android.os .Looper.loop(Looper.java:264) в android.app.ActivityThread.main(ActivityThread.java:7684) в java.lang.reflect.Method.invoke(Native Method) в com.android.internal.os.RuntimeInit $MethodAndArgsCaller.run(RuntimeInit.java:492) в com.android.internal.os.ZygoteInit.main(ZygoteInit.java:980) Вызвано: android.os.RemoteException: удаленная трассировка стека: в com.android.server. am.ActiveServices.setServiceForegroundInnerLocked(ActiveServices.java:1396) по адресу com.android.server.am.ActiveServices.setServiceForegroundLocked(ActiveServices.java:1034) по адресу com.android.server.am.ActivityManagerService.setServiceForeground(ActivityManagerService.java:15727) в android.app.IActivityManager$Stub.onTransact(IActivityManager.java:3056) в com.android.server.am.ActivityManagerService.onTransact(ActivityManagerService.java:3153)

Я попробовал добавить следующие разрешения в файл манифеста моего приложения Я также добавил следующее в качестве атрибута тега приложения Я ожидаю, что микрофон и камера останутся активными, когда приложение находится в фоновом режиме/свернуто.

Подробнее здесь: https://stackoverflow.com/questions/790 ... set-of-for
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Android»