Мое приложение должно хранить различные типы данных в хранилище firebase-firestore. Среди прочего, данные UsageStats должны быть сохранены. Следующий код работает над API29:
1) получение useStats:
UsageStatsManager mUsageStatsManager = (UsageStatsManager)
mContext.getSystemService(Context.USAGE_STATS_SERVICE);
Map<String, UsageStats> lUsageStatsMap = mUsageStatsManager.
queryAndAggregateUsageStats(mStartMillis, mEndMillis);
2) сохранение его в firebase
mFirebaseRepository.saveUsageStatsToFirebase(lUsageStatsMap, mEndMillis);
Проблема: при тестировании по API26 , работник отменен из-за следующего исключения:
java .util.concurrent.ExecutionException: java .lang.IllegalArgumentException: Не удалось сериализовать объект. Превышена максимальная глубина 500, что, вероятно, указывает на наличие цикла объекта (находится в поле 'com. android .defcontainer.obfuscatedForInstantApp.obfuscatedForInstantApp. [... повторяется очень часто ...]. ObfuscatedForInstantAp ...
Я пытался удалить соответствующие данные с карты, но каждый раз, когда новые пакеты вызывают ошибку:
lUsageStatsMap.remove("com.google.android.defcontainer");
Что означает «запутано для мгновенного приложения»? Что происходит с этим циклом объектов? И почему это происходит только на API26? Спасибо!