Backgound_fetch не работает в Flutter, когда я запускаю приложение для журнала вызововAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Backgound_fetch не работает в Flutter, когда я запускаю приложение для журнала вызовов

Сообщение Anonymous »

Я пытаюсь создать приложение для журнала вызовов в Flutter, которое работает в фоновом режиме, и отправляет данные журнала вызовов в API. Я использую founal_fetch . Вот моя настройка: < /p>

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

Future _syncCallLogs() async {
try {
final repo = CallLogRepository();
final logs = await repo.getCallLogs();
final prefs = await SharedPreferences.getInstance();
final lastSentMills = prefs.getInt('last_sent_timestamp');
final lastSent = lastSentMills != null
? DateTime.fromMillisecondsSinceEpoch(lastSentMills)
: null;

for (var log in logs) {
if (lastSent == null || log.dateTime.isAfter(lastSent)) {
final success = await repo.sendCallLogsToApi(log);
if (success) {
await prefs.setInt(
'last_sent_timestamp',
log.dateTime.millisecondsSinceEpoch,
);
if (kDebugMode) {
print("BackgroundFetch: Sent log at ${log.dateTime}");
}
}
}
}
} catch (e) {
if (kDebugMode) {
print("Sync error: $e");
}
}
}
обработчик задач без головы:

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

Future backgroundFetchHeadlessTask(HeadlessTask task) async {
String taskId = task.taskId;
bool isTimeout = task.timeout;

if (isTimeout) {
if (kDebugMode) {
print("[BackgroundFetch] Headless task timed out: $taskId");
}
BackgroundFetch.finish(taskId);
return;
}

await _syncCallLogs(taskId);
}
Настройка фоновой задачи:
class BackgroundTask {
static Future setupBackgroundFetch() async {
try {
int status = await BackgroundFetch.configure(
BackgroundFetchConfig(
minimumFetchInterval: 15,
stopOnTerminate: false,
enableHeadless: true,
startOnBoot: true,
requiredNetworkType: NetworkType.ANY,
),
(String taskId) async {
if (kDebugMode) {
print("[BackgroundFetch] Event received: $taskId");
}
await _syncCallLogs(taskId);
},
(String taskId) async {
if (kDebugMode) {
print("[BackgroundFetch] Task timeout: $taskId");
}
BackgroundFetch.finish(taskId);
},
);

if (kDebugMode) {
print('[BackgroundFetch] configure success: $status');
}

BackgroundFetch.registerHeadlessTask(backgroundFetchHeadlessTask);
} catch (e) {
if (kDebugMode) {
print("[BackgroundFetch] Configuration failed: $e");
}
}
}
}
< /code>
Когда я запускаю этот код
i получает эту ошибку
Что пошло не так:
выполнение не удалось для задачи ': app: checkdebugaarmetadata'. com.transistorsoft: tsbackgroundfetch: 3.0.0.
поиск в следующих местоположениях:
- https://dl.google.com/dl/android/maven2 ... -3.0.0.pom! https://repo.maven.apache.org/maven2/co ... -3.0.0.pom
- https://storage.googleapis.com/download ... -3.0.0.pom
- Файл:/d: /fluthterProjects/call_logs/android/app/libs/com/transistorsoft/tsbackgroundfetch/3.0.0/tsbackgroundfetch-3.0.0.pom
требуется для:
Project: app
не может найти никаких совпадений для com.transistorsoft: tsbackgroundfetch:+ as os vesitions:+ as os vesitions:+ as os vesitions:+ as os vesitions com.transistorsoft: Tsbackgroundfetch доступны.
поиск в следующих местоположениях:
- https://dl.google.com/dl/android/maven2 ... tadata.xml
https://repo.maven.apache.org/maven2/co ... tadata.xml
-https://storage.googleapis.com/downloar ... xcombrable. Файл:/d: /flutterProjectss/call_logs/android/app/libs/com/transistorsoft/tsbackgroundfetch/maven-metadata.xml
требуется для:
project: app> project: founal_fetch
blockquote>
it etskbackground3.0.0.0.0.0.0.0. Веб -сайт Я не могу запустить свое приложение
Я получил версию tsbackground 1.0.3 Я не знаю, как установить, куда мне помочь, что мне делать

Подробнее здесь: https://stackoverflow.com/questions/795 ... ll-log-app
Ответить

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

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

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

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

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