В facebook chatheads, которые являются частью приложения facebook messenger, я заметил следующее поведение: Насколько я вижу, сам чат-голова и открытый экран чата являются частью службы. Нет активности.
Как я могу быть уверен?
После того, как я вернусь домой на открывшемся экране чата, он будет сведен к минимуму обратно в чат-головку, и я сразу смогу снова открыть экран чата. Если экран чата был активным, то повторное открытие активности через startActivity(intent)
после нажатия кнопки "домой" задерживало начало активности, как указано здесь:
Запуск активности из службы после нажатия кнопки HOME без 5-секундной задержки
и здесь: Причина задержки 5 секунд для отображения активности при нажатии кнопки "домой" ?
в моем сервисе onCreate method, я использую следующий код для отображения пользовательского интерфейса из службы:
public class ServiceTest extends Service {
...
@Override
public void onCreate() {
super.onCreate();
windowManager = (WindowManager) getSystemService(WINDOW_SERVICE);
WindowManager.LayoutParams params = new WindowManager.LayoutParams(
WindowManager.LayoutParams.WRAP_CONTENT,
WindowManager.LayoutParams.WRAP_CONTENT,
WindowManager.LayoutParams.TYPE_PHONE,
WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE,
PixelFormat.TRANSLUCENT);
windowManager.addView(someView, params);
}
....
}
Есть ли у кого-нибудь идея, как я могу получить событие "нажатие кнопки дома" непосредственно из службы, отображающей пользовательский интерфейс? Я хотел бы свести к минимуму мой взгляд (подобно головам чата facebook), когда пользователь нажимает кнопку "домой".