Первое извините за поздний ответ. Первое, что программист действительно не блокирует кнопку дома. Они используют только трюк, чтобы скрыть процесс кнопки дома за экраном блокировки.
Как вы можете это сделать? просто. Просто используйте окно блокировки экрана в качестве экрана оконного менеджера, поэтому после нажатия на дом экран вашего мобильного телефона не будет сведен к минимуму. Это небольшой трюк, используемый в большинстве приложений блокировки успеха.
и еще одна вещь состоит в том, как перекрывать верхнюю строку состояния системы телефона.
Для этого вы можете использовать код так же, как этот, и можете изменять его по своему усмотрению.
manager = ((WindowManager) getApplicationContext().getSystemService(Context.WINDOW_SERVICE));
localLayoutParams = new WindowManager.LayoutParams();
localLayoutParams.type = WindowManager.LayoutParams.TYPE_SYSTEM_ERROR;
localLayoutParams.gravity = Gravity.TOP;
localLayoutParams.flags = WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE|
//WindowManager.LayoutParams.FLAG_LAYOUT_ATTACHED_IN_DECOR |
WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN |
// this is to enable the notification to recieve touch events
//WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN |
WindowManager.LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH |
// Draws over status bar
WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN;
//localLayoutParams.width = WindowManager.LayoutParams.MATCH_PARENT;
localLayoutParams.height = (int) (50 * getResources().getDisplayMetrics().scaledDensity);
localLayoutParams.format = PixelFormat.TRANSPARENT;
view = new customViewGroup(this);
manager.addView(view, localLayoutParams);
и создать customeVIewGroup класс, как это ..
public class customViewGroup extends ViewGroup {
public customViewGroup(Context context) {
super(context);
}
@Override
protected void onLayout(boolean changed, int l, int t, int r, int b) {
}
@Override
public boolean onInterceptTouchEvent(MotionEvent ev) {
Log.v("customViewGroup", "**********Intercepted");
return true;
}
}
Способ запуска приложения не работает? когда вы нажимаете кнопку «домой», андроид вызывает запуск пусковой установки, который не должен был меняться. – Nanoc
уверены, что метод запуска запускается в леденец? – user2625151
Вы уверены, что настроили приложение в качестве пусковой установки по умолчанию? – m0skit0