2014-02-12 5 views
2

Я пытаюсь сделать ограниченный андроид для некоторых людей. Ключевыми функциями, которые я пытаюсь сделать, являетсяВозможно ли отключение кнопки меню?

  • Предоставление доступа к выбранному приложению, которое будет доступно.
  • Отключить кнопку, которая позволяет показывать пользователю все приложения, установленные на телефоне.
  • Отключить физическую кнопку (меню), чтобы запретить пользователю войти в меню «Настройки» Android.

Если эти функции возможны, было бы здорово, если бы вы могли связать мне любые примеры или объяснить, как это сделать.

спасибо.

ответ

3

Override onPrepareOptionsMenu

public boolean onPrepareOptionsMenu (Menu menu) { 
    return false; 
} 
+0

Если возможно, было бы полезно, что вы могли бы объяснить, что этот код делает .. так как я не привык андроид кодирования .. ТНХ .. –

+0

проверит AndroidDoc спасибо –

1

Проверить AndroidDoc

Реализовать KeyListener и Переопределить метод OnKeyDown

@Override 
public boolean onKeyDown(int keyCode, KeyEvent event) { 
    boolean clickedPhysicalMenu = false; 
    if (keyCode == KeyEvent.KEYCODE_MENU) { 
     clickedPhysicalMenu = true; 
    } 
    return clickedPhysicalMenu; 
} 
+0

Если возможно, было бы полезно, что вы можете объяснить, что делает этот код .. поскольку я не привык к кодированию android .. thx –

+0

проверит AndroidDoc спасибо –

+5

Это неверно, чтобы отключить клавишу меню, вы должны вернуть true, чтобы предотвратить дальнейшее распространение события, см. [link] https://developer.android.com/reference/android/app/Activity.html#onKeyDown(int, android.view.KeyEvent) [link] '@Override public boolean onKeyDown (int keyCode, событие KeyEvent) { if (keyCode == KeyEvent .KEYCODE_MENU) { return true; } return super.onKeyDown (keyCode, event); } ' –

5
@Override 
public boolean onPrepareOptionsMenu (Menu menu) { 
    return false; 
} 

Документация говорит:

Вы должны вернуть true для отображаемого меню; если вы вернете false , он не будет показан.

+1

Это отключает все связанные вещи. Я хочу кнопку меню переполнения на панели действий, но просто хочу отключить кнопку меню аппаратного обеспечения. – user2968401

+0

@ user2968401 Для этого я думаю, вам нужно будет прочитать это сообщение: http://stackoverflow.com/questions/9286822/how-to-force-use-of-overflow-menu-on-devices-with-menu- кнопка –

Смежные вопросы