2010-06-02 12 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