2010-06-02 50 views
2

我的一个客户想要一个返回boolean值的代码的方法。如果Android手机具有硬件红色/绿色呼叫/挂断键,则返回true,否则返回false。编程方式检测硬件调用的存在/挂断键

Sonething这样的:

public void keyFeedbackFromInput(KeyEvent event) { 
    if (event.getAction() == KeyEvent.ACTION_DOWN 
     && (event.getFlags() & KeyEvent.FLAG_VIRTUAL_HARD_KEY) != 0) { 
    // perform your logic here 
    } 
} 

但不是在按键事件在上面的代码段。如果手机具有物理红/绿键或虚拟键,他需要事先确定。

是否有可能,如果是有人可以提供一个代码示例来实现这一目标?

+0

出于兴趣,您为什么需要此信息? Android不会让你重写红色的挂断按钮,如果你想要在你的应用程序中按下绿色的通话按钮,你还应该使用选项菜单项来补充这一点。 – 2010-06-04 08:51:38

回答

0

编辑:

没有电话来获取那种信息。 您可以尝试使用Build.MODEL作为关键字的字典。 类似于:

/* Create the dictionary */ 
private HashMap<String, Boolean> redGreenKeys = new HashMap<String, Boolean>(); 
redGreenKeys.put("Milestone", false); 


public Boolean hasRedGreenButtons() { 
    Boolean ret = redGreenKeys.get(Build.MODEL); 
    if (ret == null) 
     return false; 

    return ret; 
} 
+0

不错,不知道。 我想他是指拨打电话或挂断电话的绿色和红色键。 – Sephy 2010-06-02 11:59:02

+0

是Sephy,红色和绿色的键的方式进行呼叫或挂断 – Ayesha 2010-06-02 12:55:00

+0

哦,那我的解决方案将无法正常工作的关键。我只是用可能的解决方案更新了我的答案。 – Macarse 2010-06-02 13:23:00