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

[Android] Как свернуть приложение?


Martifan

Вопрос

еще один вопрос а как свернуть приложение?

еще один вопрос а как свернуть приложение? как это делает срединная кнопка на телефоне

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

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

  • 0

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

 

обычно то что ты хочешь делается через сервисы. то есть висит сервис в памяти и делает свою работу а основная программа выгружена. сервисы делать студия не может и нет даже в планах как я понял. есть в инете примеры как делать но там танцы с бубном. 

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

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

 

обычно то что ты хочешь делается через сервисы. то есть висит сервис в памяти и делает свою работу а основная программа выгружена. сервисы делать студия не может и нет даже в планах как я понял. есть в инете примеры как делать но там танцы с бубном. 

ну танки с бубном я уже слышал :) жаль что студио не умеет :(

Ссылка на комментарий
  • 0
  • Модераторы

еще один вопрос а как свернуть приложение? как это делает срединная кнопка на телефоне

Можно переключиться на "рабочий стол", т.е. просто сменить активити, я уже где-то на форуме вроде отвечал на подобный вопрос, с примером. Но тут есть нюанс, после того как вы "свернёте" приложение, андроид будет сам решать, что с ним делать. Т.е. он может через 5 минут решить, что приложение нужно выгрузить из памяти и соответственно закроет его, чтобы такого не происходило, необходимо использовать Сервисы.

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

 

еще один вопрос а как свернуть приложение? как это делает срединная кнопка на телефоне

Можно переключиться на "рабочий стол", т.е. просто сменить активити, я уже где-то на форуме вроде отвечал на подобный вопрос, с примером. Но тут есть нюанс, после того как вы "свернёте" приложение, андроид будет сам решать, что с ним делать. Т.е. он может через 5 минут решить, что приложение нужно выгрузить из памяти и соответственно закроет его, чтобы такого не происходило, необходимо использовать Сервисы.

 

дайте пример пожалуйста как это сделать?

Ссылка на комментарий
  • 0
  • Модераторы
 дайте пример пожалуйста как это сделать?

 

Позже, постараюсь найти код или напишу заново.

 

а если рабочих стола установлена два или три то какой вызывать? :)

Неважно сколько рабочих столов, всегда есть один, который установлен по умолчанию. На Андроид 4.2 точно работало.

Ссылка на комментарий
  • 0
  • Модераторы

Вот так:

uses
  Androidapi.JNI.GraphicsContentViewText, Androidapi.Helpers;


procedure TForm2.Button1Click(Sender: TObject);
var
  Intent: JIntent;
begin
  Intent := TJIntent.Create;
  Intent.setAction(TJIntent.JavaClass.ACTION_MAIN);
  Intent.addCategory(TJIntent.JavaClass.CATEGORY_HOME);
  Intent.setFlags(TJIntent.JavaClass.FLAG_ACTIVITY_NEW_TASK);
  SharedActivity.startActivity(Intent);
end;

но на 4.4 поведение немного другое... (Выскакивает табличка с выбором лаунчера). Хотя не известно на всех устройствах так или только у меня...

 

В справке написано, что должен открываться домашний экран, по всей видимости, тем, у кого стоит несколько Лаунчеров даётся выбор.

Изменено пользователем Andrey Yefimov
Подправил код: Добавил категорию
Ссылка на комментарий
  • 0
  • Модераторы

Не за что :)

Я у себя, в табличке, выбрал приложение и нажал кнопку "Использовать всегда", после этого всё заработало также как раньше.

Плюс ко всему, можно даже не писать строчку:

Intent.setFlags(TJIntent.JavaClass.FLAG_ACTIVITY_NEW_TASK);

и всё будет работать, но всё же лучше оставить)))

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

Нашел еще один способ:

  Uses
    Androidapi.Helpers;
procedure TfMain.SpeedButton11Click(Sender: TObject);
begin
  SharedActivity.moveTaskToBack(True);
end;
Изменено пользователем Martifan
Ссылка на комментарий
  • 0

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

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

TAndroidHelper.Activity.moveTaskToBack(true); отправляет приложение в фон, где оно продолжает работать. и при повторном открытие открывается программа так как будто она и не закрывалась. 

Ссылка на комментарий
  • 0
  • Модераторы
5 часов назад, zairkz сказал:

Может кто знает варианты такого же решения для iOS ?

Для вопроса создайте отдельную тему в разделе iOS, т.к. эта тема уже в разделе Андроид.

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

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

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

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

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

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

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

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

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

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

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