有没有一种方法可以检测用户是否可以访问设备的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单元中找到所有键码常量。

10-08 03:02