Высокочастотные фоновые события и неверный уровень заряда батареи в функции конденсаторной фоновой геолокации на определAndroid

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Высокочастотные фоновые события и неверный уровень заряда батареи в функции конденсаторной фоновой геолокации на определ

Сообщение Anonymous »

Я использую плагин конденсатора-фона-геолокации для отслеживания фоновых обновлений местоположения в моем приложении. Приложение работает нормально на большинстве устройств, но я заметил необычное поведение на некоторых устройствах Samsung. Вот проблема:
  • Чрезмерное количество фоновых событий. На этих устройствах фоновые события, такие как смена поставщика, движение и местоположение, отправляются на серверу с чрезвычайно высокой скоростью — 4-5 раз в секунду. Это происходит даже несмотря на то, что ожидаемое поведение составляет максимум 30 обновлений в час.
  • Недопустимый уровень заряда батареи. При таких чрезмерных обновлениях батарея. Поле уровня всегда сообщает -21474836, а extras.batteryLevel предоставляет допустимое значение (например, 0,82 для 82%).
  • Конкретные устройства Затронуто:
Samsung Galaxy A50s (SM-A5070)
Samsung Galaxy A53 5G (SM-A536E)
Samsung Galaxy S22 5G (SM-S901E)
Samsung Galaxy S20 FE 5G (SM-G7810)
Samsung Galaxy S10 SM (SM-G973F)
Samsung Galaxy A80 (SM-A805N)
Samsung Galaxy A90 5G (SM-A908N)
Samsung Galaxy S10 5G (SM-G977B)
  • Уникальный шаблон: для обновлений с параметром Battery.level как -21474836 поле активности всегда отображается

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

"activity": {
"type": "still",
"confidence": 100
}
Конфигурация плагина

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

await BackgroundGeolocation.ready({
autoSync: true,
debug: false,
desiredAccuracy: BackgroundGeolocation.DESIRED_ACCURACY_NAVIGATION,
distanceFilter: 200,
elasticityMultiplier: 4,
extras: {
androidSDKVersion: 32,
appVersion: "3.4.3"
},
headers: {
ContentType: "application/json"
},
isMoving: true,
logLevel: BackgroundGeolocation.LOG_LEVEL_ERROR,
reset: true,
showsBackgroundLocationIndicator: false,
startOnBoot: true,
stationaryRadius: 25,
stopOnTerminate: false,
stopTimeout: 5,
url: "https://your-server-url.com",
useSignificantChangesOnly: true
});
Что я пробовал:
  • Я проверил конфигурации приложения и подтвердили, что такое
    поведение возникает только на определенных устройствах Samsung, перечисленных выше.
  • Проблема не возникает на других устройствах Samsung. Устройства Android или iOS, даже с
    идентичной версией приложения и конфигурацией.
Вопросы
  • Может ли быть что-то в обработке плагином фоновых событий? (providerchange, motionchange, location), который по-разному взаимодействует с этими конкретными устройствами?
  • Что может привести к тому, что Battery.level постоянно сообщит -21474836 на этих устройствах, в то время как extras.batteryLevel остается действительным?
    Есть ли такие изменения конфигурации, которые я могу внести, чтобы свести к минимуму повторяющиеся события или устранить такое поведение?
  • Может ли уникальный шаблон активности (тип: «все еще», достоверность: 100) дать представление о том, что вызывает эти чрезмерные обновления?
Мы будем очень признательны за любые предложения или идеи по поводу такого поведения. Дайте мне знать, если вам помогут дополнительные сведения или журналы!

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

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

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

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

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

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

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