DELPHI 如何检测设备是否有硬件BACK和MENU键

How to detect if the device has hardware BACK and MENU keys in DELPHI

有没有办法检测用户是否有权访问设备的 BACK 和 MENU 键?

在ANDROID中是一个简单的代码:

boolean hasMenuKey = ViewConfiguration.get(context).hasPermanentMenuKey();
boolean hasBackKey = KeyCharacterMap.deviceHasKey(KeyEvent.KEYCODE_BACK);

但是在DELPHI中如何做到?

判断是否存在硬件按键,这种方法最简单:

.
.
uses
  Androidapi.KeyCodes,
  Androidapi.JNI.GraphicsContentViewText,
.
.
  TJKeyCharacterMap.JavaClass.deviceHasKey(AKEYCODE_BACK) //To detect hardware BACK
  TJKeyCharacterMap.JavaClass.deviceHasKey(AKEYCODE_MENU) //To detect hardware MENU
.
.

deviceHasKey 的结果是布尔值。

所有键码常量可以在单元中找到Androidapi.KeyCodes.