Реализация сервиса переднего плана Android для Timer для устройства для обновления пользовательского интерфейса каждую мAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Реализация сервиса переднего плана Android для Timer для устройства для обновления пользовательского интерфейса каждую м

Сообщение Anonymous »

Я создаю приложение для отслеживания времени в .net maui. И я хочу запустить таймер, продолжая даже приложение минимизировать, поэтому я создаю услуги переднего плана Android в Мауи. И это также работа, но моя проблема заключается в том, что я хочу уведомлять пользовательский интерфейс за каждую минуту, чтобы я мог позвонить в свой API для сохранения данных.
и для обновления UI я использую broadcastreceiver , но on-out-receive не вызывает:



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

//**Service side code:**
void SendProgressUpdate(int progress)
{
try
{
var intent = new Intent("com.foreground.app.PROGRESS_UPDATE");
intent.PutExtra("progress", progress);
AndroidCall.Application.Context.SendBroadcast(intent);
}
catch (Exception ex)
{
throw;
}
}

[BroadcastReceiver(Enabled = true, Exported = false,DirectBootAware = true)]
[IntentFilter(new[] { "com.foreground.app.PROGRESS_UPDATE" })]
public class ProgressBroadcastReceiver : BroadcastReceiver
{
public event Action ProgressUpdated;

public override void OnReceive(Context context, Intent intent)
{
if (intent.Action == "com.foreground.app.PROGRESS_UPDATE")
{
int progress = intent.GetIntExtra("progress", 0);
Log.Debug("ProgressBroadcastReceiver", $"Progress received: {progress}");
ProgressUpdated?.Invoke(progress);
}
}
}

//**UI side code**
void OnProgressUpdated(int progress)
{
System.Diagnostics.Debug.WriteLine($"Progress update received: {progress}");
lblProgress.Text = $"Progress: 000%";
// Update UI on main thread
Device.BeginInvokeOnMainThread(() =>
{
// e.g. update a ProgressBar or Label
lblProgress.Text = $"Progress: {progress}%";
});
}
Пожалуйста, помогите мне решить эту проблему

Подробнее здесь: https://stackoverflow.com/questions/797 ... every-minu
Ответить

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

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

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

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

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