Перейти к содержанию
Fire Monkey от А до Я
  • 0

Программно развернуть свернутое приложение


Dev

Вопрос

Здравствуйте!

В программе считает таймер, по истечению заданного времени если пользователь свернул приложение как его программно развернуть?

Изменено пользователем Dev
Ссылка на комментарий

Рекомендуемые сообщения

  • 0

Для windows Application.Restore а для андроид какой есть метод чтоб вывести приложение из фона, подскажите пожалуйста

Изменено пользователем Dev
Ссылка на комментарий
  • 0

Это можно сделать если поставить Alarm. Если прога выгружена - она загрузится, если в фоне, то выйдет из фона.

 

А уже есть такой вопрос, ну пусть ссылка будет на этот форум, здесь можно спросить Андрея Ефимова по этому вопросу и в целом там важные ньюансы в комментах.

Изменено пользователем ENERGY
Ссылка на комментарий
  • 0

Спасибо!

И отдельное Спасибо Андрею Ефимову!

получилось через AlarmManager

не могу только допетрить как отменить задание по этому методу, если вдруг будет нужно для других идей

procedure TForm2.Button1Click(Sender: TObject);
var
  Intent: JIntent;
  PendingIntent: JPendingIntent;
begin
  // Создаём Интент
  Intent := TJIntent.Create;
  Intent.setClassName(TAndroidHelper.Context, StringToJString('com.TestReceiver.AlarmReceiver'));

  // Оборачиваем Интент в PendingIntent
  PendingIntent := TJPendingIntent.JavaClass.getBroadcast(TAndroidHelper.Context, 1, Intent, 0);

  // Устанавливаем оповещение
  TAndroidHelper.AlarmManager.&set(TJAlarmManager.JavaClass.RTC_WAKEUP, getTimeAfterInSecs(30),
    PendingIntent);
end;

 

есть ссылка в статье описание этого метода http://developer.android.com/intl/ru/reference/android/app/PendingIntent.html 

только мне там мало что понятно, если кто знает помогите примером как правильно удалить невыполненное задание 

Изменено пользователем Dev
Ссылка на комментарий
  • 1
8 часов назад, Dev сказал:

Спасибо!

И отдельное Спасибо Андрею Ефимову!

получилось через AlarmManager

не могу только допетрить как отменить задание по этому методу, если вдруг будет нужно для других идей


procedure TForm2.Button1Click(Sender: TObject);
var
  Intent: JIntent;
  PendingIntent: JPendingIntent;
begin
  // Создаём Интент
  Intent := TJIntent.Create;
  Intent.setClassName(TAndroidHelper.Context, StringToJString('com.TestReceiver.AlarmReceiver'));

  // Оборачиваем Интент в PendingIntent
  PendingIntent := TJPendingIntent.JavaClass.getBroadcast(TAndroidHelper.Context, 1, Intent, 0);

  // Устанавливаем оповещение
  TAndroidHelper.AlarmManager.&set(TJAlarmManager.JavaClass.RTC_WAKEUP, getTimeAfterInSecs(30),
    PendingIntent);
end;

 

есть ссылка в статье описание этого метода http://developer.android.com/intl/ru/reference/android/app/PendingIntent.html 

только мне там мало что понятно, если кто знает помогите примером как правильно удалить невыполненное задание 

Вот здесь, когда оборачиваете в PendingIntent, присваиваете ему уникальный номер (в примере выше это 1), этот номер где-то храните.

PendingIntent := TJPendingIntent.JavaClass.getBroadcast
      (TAndroidHelper.Context, _ТУТ НОМЕР_, intent, 0);

Потом, что бы отменить, создаете идентичный PendingIntent, с номером, с которым запускали, и

TAndroidHelper.AlarmManager.cancel(PendingIntent);

 

Ссылка на комментарий

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...