• 0
Dev

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

Вопросы

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

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

Изменено пользователем Dev

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

5 ответов на этот вопрос

  • 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);

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти


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

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