2014-07-09 3 views
0

Моя активность создает представление оверлей системы одним нажатием кнопки. Я ожидаю, что это мнение останется видимым во всем остальном, пока я не закрою его еще одним нажатием кнопки в действии.Как избежать перекрытия вида наложения системы

Проблема заключается в том, что Android автоматически убивает это представление через несколько секунд, если я открываю пару других приложений. Я знаю, что это ожидаемое поведение Android для управления его ресурсами. Но есть ли способ сказать Android не закрывать эту точку зрения? Я попытался создать наложение в IntentService, но это не имело значения.

Просмотра кода создания:

mFrameLayout = new FrameLayout(mContext); 
mFrameLayout.setBackgroundColor(mContext.getResources().getColor(R.color.black)); 
WindowManager.LayoutParams params = new WindowManager.LayoutParams(
     WindowManager.LayoutParams.MATCH_PARENT, 
     WindowManager.LayoutParams.MATCH_PARENT, 
     WindowManager.LayoutParams.TYPE_SYSTEM_OVERLAY, 
     WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN, 
     PixelFormat.TRANSLUCENT 
     ); 
WindowManager windowManager = (WindowManager) mContext.getSystemService(Context.WINDOW_SERVICE); 
windowManager.addView(mFrameLayout, params); 

ответ

1

Используйте сервис для создания вида системы наложения.

Not IntentService, просто продлить обслуживание. Заставьте это работать, даже если приложение переходит в backgroung, возвращая «START_STICKY»

+0

Как уже упоминалось в OP, это не имело значения. – faizal

+0

@faizal попробуйте сейчас ... –

+0

Блестящий! Благодарю. – faizal

Смежные вопросы