FLAG_NOT_FOCUSABLE об активности - PullRequest
0 голосов
/ 16 мая 2018
public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        getWindow().addFlags(WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE);
    }
}

если я нажму кнопку назад, приложение останавливается на 10-15 секунд. в логе пишите:

D/ANRAppManager: !!! It is not under singleton mode, U can't use it. !!!
I/dalvikvm: threadid=3: reacting to signal 3
D/dalvikvm: dump native stack for : main
D/dalvikvm: unwind backtrace
D/dalvikvm: get native symbol
D/dalvikvm: format backtrace line
D/dalvikvm: get native done
D/dalvikvm: dump native stack for : Thread-7090
D/dalvikvm: unwind backtrace
D/dalvikvm: get native symbol
D/dalvikvm: format backtrace line
D/dalvikvm: get native done
D/dalvikvm: dump native stack for : Binder_2
D/dalvikvm: unwind backtrace
D/dalvikvm: get native symbol
D/dalvikvm: format backtrace line
D/dalvikvm: get native done
D/dalvikvm: dump native stack for : Binder_1
D/dalvikvm: unwind backtrace
D/dalvikvm: get native symbol
D/dalvikvm: format backtrace line
D/dalvikvm: get native done
D/dalvikvm: dump native stack for : Compiler
D/dalvikvm: unwind backtrace
D/dalvikvm: get native symbol
D/dalvikvm: format backtrace line
D/dalvikvm: get native done
D/dalvikvm: dump native stack for : JDWP
D/dalvikvm: unwind backtrace
D/dalvikvm: get native symbol
D/dalvikvm: format backtrace line
D/dalvikvm: get native done
D/dalvikvm: dump native stack for : GC
D/dalvikvm: unwind backtrace
D/dalvikvm: get native symbol
D/dalvikvm: format backtrace line
D/dalvikvm: get native done
D/dalvikvm: Prepare stack traces for '/data/anr/traces.txt' done
I/dalvikvm: Wrote stack traces to '/data/anr/traces.txt'

и сбой приложения.

в этом файле /data/anr/traces.txt: https://pastebin.com/J6qdJjU7

Я делаю что-то вроде AppLocker. Я хочу, чтобы при нажатии кнопки назад действие (приложение), которое находится за этим действием, закрывалось, а activity, которое было позади моей активности другого приложения.

Любые способы сделать этот функционал не нужны с FLAG_NOT_FOCUSABLE. как это сделать?

1 Ответ

0 голосов
/ 16 мая 2018

Надеюсь, это сработает для вас.

getWindow().addFlags(WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE);

Вызовите эту строку перед setContentView (R.layout.activity_main);

...