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. 在虚拟键盘上检测按键
- 5. 检测长按“虚拟”钥匙
- 6. 如何检测当在按钮片断android按下后按钮?
- 7. Android ICS虚拟按钮旋转
- 8. AR中的虚拟按钮功能Android
- 9. android - 如何检测按钮的持有?
- 10. 检测虚拟键盘的类型-Android
- 11. Red Pill检测虚拟化
- 12. iOS虚拟按钮到Arduino
- 13. 虚拟“后退按钮”jquery
- 14. 如何检测虚拟键盘事件中的Android用Delphi
- 15. 检测虚拟MAC地址?
- 16. 如何检测何时按下按钮并在android上释放
- 17. 如何检测按钮按下和iphone
- 18. 如何检测一个按钮按下?
- 19. 如何检测按钮按下?
- 20. 导轨4按虚拟属性排序
- 21. 如何检测Android上的按钮按下历史
- 22. Android:如何检测按下日志的主页按钮?
- 23. 如何模拟Android中单击测试的单击按钮
- 24. 检测耳机按钮按
- 25. Android模拟按钮按
- 26. Android:如何模拟后退按钮
- 27. 如何在Android模拟器中模拟按下home按钮
- 28. Android - 如何在虚拟键盘上按下按键?
- 29. Android API检测Samsung Galaxy Camera Zoom按钮
- 30. Android Phonegap - 检测主页按钮?
'ViewConfiguration.hasPermanentMenuKey()'在三星S5上返回false,但手机没有虚拟键。我不认为这是检查虚拟密钥的正确方法。 – tomrozb 2015-04-04 12:58:58
你说得对。 S5没有物理菜单键,但没有虚拟按钮,所以'boolean hasVirtualKeys =!hasPermanentMenuKey;'不再有效。我已经更新了我的答案,并对此发出了警告。 – 2015-04-07 09:31:47