Я разрабатываю приложение на Android. Мое приложение по сути является журналом вызовов. Я хочу, чтобы мое приложение отображало три кнопки выше всех других действий, когда устройство получает входящий вызов.FLAG_NOT_TOUCH_MODAL не работает/Android
В настоящее время у меня есть BroadcastReceiver, который получает намерения PHONE_STATE и когда обнаружен входящий вызов, начинается действие. Запущенное действие содержит кнопки, которые я хочу отобразить.
Когда появляется надпись OverlayActivity, все действия внизу перестают принимать события касания, то есть я могу касаться только OverlayActivity. Как заставить их получать события?
Прямо сейчас в моем BroadcastReceiver я начинаю деятельность:
//PhonecallReceiver.java
public void onReceive(Context context, Intent intent) {
Intent i = new Intent(myContext, OverlayActivity.class);
i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
i.putExtra("phone_number", number);
context.startActivity(i);
}
actuall активность
//OverlayActivity.java:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
WindowManager.LayoutParams.WRAP_CONTENT,
WindowManager.LayoutParams.WRAP_CONTENT,
WindowManager.LayoutParams.TYPE_PHONE,
WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE |
WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL |
WindowManager.LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH,
PixelFormat.TRANSLUCENT);
params.gravity = Gravity.CENTER | Gravity.TOP;
WindowManager wm = (WindowManager) getSystemService(WINDOW_SERVICE);
LayoutInflater inflater = getLayoutInflater();
mLayout = (LinearLayout) inflater
.inflate(R.layout.overlay_layout, null);
wm.addView(mLayout, params);
}
Hi Ivan. Нет необходимости редактировать вопрос, чтобы дать решение. На самом деле лучше создать ответ на свой вопрос, подробно рассказывая о том, что вы сделали. Это поможет любому, кто приходит в StackOverflow с той же проблемой. – DJClayworth