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

Я хочу добавить вид, чтобы показать всю активность.

  1. Когда добавляю вид и закрываю активность, тогда вид по-прежнему отображается
  2. Когда я закрываю приложение, представление удаляется.

Спасибо и извините за мой плохой английский.


person Wuttipong Khemphetjetsada    schedule 22.07.2016    source источник


Ответы (1)


  1. создайте Service и getWindowManager в своей службе.

  2. создайте экземпляр WindowManager.LayoutParams и установите тип LayoutParams.TYPE_PHONE, затем вызовите windowManager.addView(view, lp).

  3. отправьте намерение в свою службу, когда закроете приложение, вызовите windowManager.removeView(view) в службе.

Когда вы используете Android 6.0+, вам нужно запросить разрешение `

public static int OVERLAY_PERMISSION_CODE = 2525;  

public void addOverlay() {     
    if (!Settings.canDrawOverlays(this)) {         
            Intent intent = new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION,Uri.parse("package:" + getPackageName()));
            startActivityForResult(intent, OVERLAY_PERMISSION_REQ_CODE);     
    } 
}
person Robin Zhou    schedule 22.07.2016
comment
Спасибо за ответ, буду пробовать. - person Wuttipong Khemphetjetsada; 22.07.2016
comment
Я использую LayoutParams.TYPE_PHONE и не могу щелкнуть другую текущую активность или кнопку «Назад». PS. Добавляю флаг WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE | WindowManager.LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH - person Wuttipong Khemphetjetsada; 22.07.2016
comment
Спасибо, но я использую android mashmallow, я запускаю службу и больше не могу показывать вид. - person Wuttipong Khemphetjetsada; 22.07.2016