2
A
回答
3
由于API级别14,您可以使用ViewConfiguration.hasPermanentMenuKey()来检测设备是否具有永久性菜单键。
通常,虚拟按钮和物理按钮是互斥的,所以这对您有所帮助。例如:
public class MyActivity extends Activity {
// ...
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
boolean hasPermanentMenuKey = ViewConfiguration.get(this).hasPermanentMenuKey();
boolean hasVirtualKeys = !hasPermanentMenuKey;
String message = hasVirtualKeys ? "This device has virtual menu keys" : "This device has physical keys";
Toast.makeText(this, message, Toast.LENGTH_LONG).show();
}
// ...
}
警告:有一些案件中,这不会帮助你。例如,假设制造商决定使用虚拟键和物理菜单键;那么这种方法不会帮助你。另一种情况是手机没有虚拟键和物理菜单键(例如Samsung S5)。
相关问题
- 1. 如何检测虚拟后退按钮的使用情况?
- 2. ARToolkit虚拟按钮
- 3. 检测虚拟化
- 4. 如何检测当在按钮片断android按下后按钮?
- 5. AR中的虚拟按钮功能Android
- 6. android - 如何检测按钮的持有?
- 7. 虚拟“后退按钮”jquery
- 8. 检测虚拟MAC地址?
- 9. 如何检测何时按下按钮并在android上释放
- 10. 如何检测按钮按下和iphone
- 11. 如何检测一个按钮按下?
- 12. 如何检测Android上的按钮按下历史
- 13. Android:如何检测按下日志的主页按钮?
- 14. 如何模拟Android中单击测试的单击按钮
- 15. Android模拟按钮按
- 16. 如何在Android模拟器中模拟按下home按钮
- 17. Android - 用手指检测输入按钮?
- 18. Android API检测Samsung Galaxy Camera Zoom按钮
- 19. Android Phonegap - 检测主页按钮?
- 20. Android:检测按钮外的ACTION_UP事件
- 21. Android虚拟键盘KeyListener获取虚拟键盘按键
- 22. 如何在任何活动中禁用虚拟主页按钮?
- 23. Cloud Recognition中的Vuforia虚拟按钮
- 24. Flash增强现实虚拟按钮
- 25. 显示虚拟键盘的按钮?
- 26. 在虚拟键盘上输入按钮
- 27. 移动WebKit按钮点击虚拟类
- 28. 检测音量按钮按
- 29. 如何将键盘虚拟按钮发送到TDBLookupComboBox或类似按钮?
- 30. 检测丢弃虚拟信用卡
'ViewConfiguration.hasPermanentMenuKey()'在三星S5上返回false,但手机没有虚拟键。我不认为这是检查虚拟密钥的正确方法。 – tomrozb 2015-04-04 12:58:58
你说得对。 S5没有物理菜单键,但没有虚拟按钮,所以'boolean hasVirtualKeys =!hasPermanentMenuKey;'不再有效。我已经更新了我的答案,并对此发出了警告。 – 2015-04-07 09:31:47