Задать вопрос
@Chesterfield25

Как сделать так что бы приложение нельзя было свернуть и использовать функции планшета?

У меня уже есть небольшой пример который позволяет закрыть приложение после ввода пароля. При нажатии на кнопку назад, центральную кнопку и квадратик приложение не должно закрываться. При нажатии на кнопку назад мне удалось сделать что бы оно не закрывалось а вот как сделать так что бы приложение не сворачивалось при нажатии на центральную кнопку и на квадратик не знаю.

public class MainActivity extends AppCompatActivity {
    private static final String PASSWORD = "1111"; // Замените на ваш пароль
    private ImageView power;

    public MainActivity() {
    }

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        // Установка флагов для режима полноэкранного приложения, предотвращения выключения экрана и запрета сворачивания
        getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
        getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
        getWindow().addFlags(WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD);
        getWindow().addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED);
        getWindow().addFlags(WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON);

        power = findViewById(R.id.power);
        power.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                showPasswordDialog();
            }
        });
    }

    @SuppressLint("MissingSuperCall")
    @Override
    public void onBackPressed() {
        // Запрещаем обработку кнопки "Назад"
        // super.onBackPressed(); // Убираем вызов родительского метода
    }

    private void showPasswordDialog() {
        AlertDialog.Builder builder = new AlertDialog.Builder(this);
        builder.setTitle("Введите пароль");

        // Set up the input
        final EditText input = new EditText(this);
        builder.setView(input);

        // Set up the buttons
        builder.setPositiveButton("OK", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                String password = input.getText().toString();
                if (password.equals(PASSWORD)) {
                    // Правильный пароль - закрываем приложение
                    finish();
                } else {
                    Toast.makeText(MainActivity.this, "Неверный пароль", Toast.LENGTH_SHORT).show();
                }
            }
        });
        builder.setNegativeButton("Отмена", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                dialog.cancel();
            }
        });

        builder.show();
    }
}
  • Вопрос задан
  • 305 просмотров
Подписаться 2 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 1
@pfg21
ex-турист
гуглить android kiosk mode ??
прописать свое приложение как лаунчер ?? нажатие на центральную кнопку делает вызов лаунчера.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы